$('<div>',{id:'bla'})与$('<div id =“bla”> </div>); </div>

时间:2011-08-05 18:13:11

标签: jquery elements innerhtml

速度之间是否存在差异:

$('<div>', {id: 'bla', click: func, css: { opacity:0.5 } }

并全部内联?

$('<div id="bla" style="opacity:0.5"></div>').click(func);

第二个例子,jquery在内部做了什么?只需调用.innerHTML或尝试解析它,然后与第一个示例完全相同吗?

2 个答案:

答案 0 :(得分:2)

当我们将html标记作为输入传递给$()时,它使用document.createDocumentFragment动态创建元素,然后使用childnodes属性检索实际元素并执行所需的操作。

答案 1 :(得分:1)

确定一个代码段是否优于另一个代码段的最佳方法是自己对其进行基准测试。

您可以使用jsPerf.com对代码进行基准测试。

事实证明,Firefox中的第二个版本更快,而且Chrome上的版本大致相同。

http://jsperf.com/test-jquery-element-creator