$('<div>')和$('<div />')之间的差异

Lor*_*ard 6 html javascript jquery

可能重复:
jQuery中的$('<element>')vs $('<element />')

我习惯写作$('<div>').
但是今天我看到了一个关于john-resig使用以下语法的高级jquery的演示文稿$('<div/>').
http://loft.bocoup.com/john-resig-advanced-jquery/

对我来说,他们似乎产生相同的输出.

我的问题是:$('<div>')和之间有$('<div/>')什么区别 吗?

jAn*_*ndy 7

不,jQuery会将这些语句规范化为完全相同的.


在jQuery的一些早期版本中,它<div>实际上比任何原因都快<div/>.我还不知道,如果仍然适用.

http://jsperf.com/jquery-constructor-performance

似乎这个错误/功能不再是真的.


Esa*_*ija 5

<div>,<div/>,<div></div>,甚至<div/></div>(是的,这一个只会制造一个元素)所有触发singleTag规则rexpression这使得jQuery的调用document.createElement("div").它根本没有传递给任何html解析器.

这是你可以玩的正则表达式,如果它返回true,它将是 document.createElement'd

var rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/;
Run Code Online (Sandbox Code Playgroud)