如何在jQuery中创建div元素?
当前回答
d = document.createElement('div');
$(d).addClass(classname)
.html(text)
.appendTo($("#myDiv")) //main div
.click(function () {
$(this).remove();
})
.hide()
.slideToggle(300)
.delay(2500)
.slideToggle(300)
.queue(function () {
$(this).remove();
});
其他回答
您可以使用append(添加到父级的最后一个位置)或prepend(添加到其父级的第一个位置):
$('#parent').append('<div>hello</div>');
// or
$('<div>hello</div>').appendTo('#parent');
或者,可以使用不同答案中提到的.html()或.add()。
$("<div/>").appendTo("div#main");
将在<div id=“main”></div>中追加一个空白div
如果您使用Jquery>1.4,您最好使用Ian的答案。否则,我将使用此方法:
这与celoron的答案非常相似,但我不知道他们为什么使用document.createElement而不是Jquery表示法。
$("body").append(function(){
return $("<div/>").html("I'm a freshly created div. I also contain some Ps!")
.attr("id","myDivId")
.addClass("myDivClass")
.css("border", "solid")
.append($("<p/>").html("I think, therefore I am."))
.append($("<p/>").html("The die is cast."))
});
//Some style, for better demonstration if you want to try it out. Don't use this approach for actual design and layout!
$("body").append($("<style/>").html("p{background-color:blue;}div{background-color:yellow;}div>p{color:white;}"));
我还认为,在这种情况下,将append()与回调函数一起使用更可读,因为您现在马上就可以看到将要向主体添加的内容。但这是一个品味问题,在编写任何代码或文本时总是如此。
通常,在JQuery代码中使用尽可能少的HTML,因为这大部分是意大利面代码。它容易出错,很难维护,因为HTML字符串很容易包含拼写错误。此外,它将标记语言(HTML)与编程语言(Javascript/Jquery)混合在一起,这通常是一个坏主意。
您可以使用.add()创建一个新的jQuery对象并添加到目标元素中。然后使用链接继续。
例如jQueryApi:
$(“div”).css(“border”,“2px纯红色”).add(“p”).css(“背景”,“黄色”);第二部分{宽度:60px;高度:60px;边距:10px;浮动:左侧;}<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><div></div><div></div><div></div><div></div><div></div><div></div>
创建内存DIV
$("<div/>");
添加单击处理程序、样式等,最后将其插入到DOM中的目标元素选择器中:
$(“<div/>”{//此处的属性text:“单击我”,id:“示例”,“class”:“myDiv”,//('class'在引号中更好)css:{颜色:“红色”,fontSize:“3em”,光标:“指针”},日期:{mouseenter:函数(){console.log(“请…”+$(this).text());},单击:函数(){console.log(“嗨!我的ID是:”+this.ID);}},追加:“<i>!!</i>”,appendTo:“body”//最后,附加到任何选择器}); // << 这里不需要做任何事情,因为我们在内部定义了财产。<script src=“//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js”></script>
与ian的答案类似,但我找不到适当处理财产对象声明中方法使用的示例,所以就这样。
推荐文章
- 使伸缩项目正确浮动
- Babel 6改变了它导出默认值的方式
- 如何配置历史记录?
- ES6模板文字可以在运行时被替换(或重用)吗?
- [Vue警告]:找不到元素
- 可以在setInterval()内部调用clearInterval()吗?
- AngularJS控制器的生命周期是什么?
- 无法读取未定义的属性“msie”- jQuery工具
- 形式内联内的形式水平在twitter bootstrap?
- 我的蛋蛋怎么不见了?
- JavaScript中的排列?
- 自定义元素在HTML5中有效吗?
- JavaScript中有睡眠/暂停/等待功能吗?
- 如何触发自动填充在谷歌Chrome?
- jQuery:执行同步AJAX请求