jQuery:没有在构造函数中关闭标记的风险

Bry*_*eld 5 html jquery html-parsing

有什么理由我会用$('<div></div>')而不是$('<div>')

或者$('<div><b></b></div>')代替$('<div><b>')

在这两种情况下我都喜欢后者,因为它更短.

Nea*_*eal 5

jQuery自动为你关闭标签,没有必要自己关闭它.

$('<div>') 是一件非常好的事情

然而,在第二件事你附加<b>我会做:

$('<div>',{html: $('<b>')}); // or $('<div>').append($('<b>')) 
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/maniator/m9wbb/

  • 我同意这个'$('<div>',{html:$('<b>')})`直到某一点......当你开始将这些东西嵌套4层以上时,你的眼睛开始出血.但它确实感觉更多OO (3认同)

Guf*_*ffa 2

这取决于您是使用单个标签还是多个标签来创建元素。

如果您使用单个标签,jQuery 将使用该方法来创建元素,因此使用或document.createElement并不重要。"<div/>""<div></div>"

div如果您有多个元素,jQuery 将通过创建元素并将 HTML 代码放入属性中来创建元素innerHTML。为了让浏览器正确解析HTML代码,你必须根据你使用的HTML版本来编写它。如果您在页面中使用 XHTML,则用于创建元素的 HTML 代码也必须是 XHTML。