可能的重复: jQuery 中的 $('') 与 $('') https://stackoverflow.com/questions/9675487/element-vs-element-in-jquery
这两种方法中哪一种是正确的方法:
$('<div>')
or
$('<div />')
他们似乎都工作。一种方法比另一种方法更正确,还是两者都有效?
来自docs http://api.jquery.com/jQuery/:
如果一个字符串作为参数传递给 $(),jQuery 将检查 字符串来查看它是否看起来像 HTML(即,它有<tag ... >某处 在字符串内)。如果不是,则该字符串被解释为选择器 表达式,如上所述。但如果该字符串看起来是 HTML 片段,jQuery 尝试按照描述创建新的 DOM 元素 通过 HTML。然后创建并返回引用的 jQuery 对象 对这些元素。您可以执行任何常用的 jQuery 方法 这个对象:
<tag ... >
$('<p id="test">My <em>new</em> text</p>').appendTo('body');
如果 HTML 比没有属性的单个标签更复杂,因为它在 在上面的例子中,元素的实际创建是由 浏览器的innerHTML机制。在大多数情况下,jQuery 创建一个新的 元素并将该元素的innerHTML属性设置为 传入的 HTML 片段。当参数具有单个标签时, 例如$('<img />') or $('<a></a>'), jQuery 使用以下方法创建元素 本机 JavaScript createElement() 函数。
$('<img />') or $('<a></a>')
为了确保跨平台兼容性,代码片段必须格式正确。可以包含其他元素的标签应与结束标签配对:
$('<a href="http://jquery.com"></a>');
或者,jQuery 允许类似 XML 的标记语法(斜杠之前有或没有空格):
$('<a/>');
不能包含元素的标签可能会快速关闭,也可能不会:
$('<img />'); $('<input>');