我有2种方法,我可以使用jQuery创建一个<div>。
:
var div = $("<div></div>");
$("#box").append(div);
Or:
$("#box").append("<div></div>");
除了可重用性之外,使用第二种方法的缺点是什么?
我有2种方法,我可以使用jQuery创建一个<div>。
:
var div = $("<div></div>");
$("#box").append(div);
Or:
$("#box").append("<div></div>");
除了可重用性之外,使用第二种方法的缺点是什么?
当前回答
根据jQuery官方文档
要创建HTML元素,首选$("<div/>")或$("<div></div>")。
然后你可以使用appendTo, append, before, after等等。将新元素插入到DOM中。
jQuery 1.11.x版本
其他回答
根据jQuery官方文档
要创建HTML元素,首选$("<div/>")或$("<div></div>")。
然后你可以使用appendTo, append, before, after等等。将新元素插入到DOM中。
jQuery 1.11.x版本
根据3.4的文档,首选使用带有attr()方法的属性。
$('<div></div>').attr(
{
id: 'some dynanmic|static id',
"class": 'some dynanmic|static class'
}
).click(function() {
$( "span", this ).addClass( "bar" ); // example from the docs
});
我建议使用第一种方法,即使用jQuery实际构建元素。第二种方法只是简单地将元素的innerHTML属性设置为字符串,这恰好是HTML,更容易出错,也不太灵活。
我个人认为代码的可读性和可编辑性比性能更重要。无论你觉得哪个更容易看,它应该是你根据上述因素选择的。 你可以写成:
$('#box').append(
$('<div/>')
.attr("id", "newDiv1")
.addClass("newDiv purple bloated")
.append("<span/>")
.text("hello world")
);
你的第一个方法是:
// create an element with an object literal, defining properties
var $e = $("<div>", {id: "newDiv1", name: 'test', class: "aClass"});
$e.click(function(){ /* ... */ });
// add the element to the body
$("#box").append($e);
但就可读性而言;jQuery方法是我的最爱。跟随这个有用的jQuery技巧、笔记和最佳实践
也可以用下面的方法创建一个div元素:
var my_div = document.createElement('div');
添加类
my_div.classList.add('col-10');
也可以执行append()和appendChild()