jquery .html()vs .append() [英] jquery .html() vs .append()
本文介绍了jquery .html()vs .append()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可以说我有一个空的div:
< div id ='myDiv'>< / div>
是这样的:
$('#myDiv')。html(< div id ='mySecondDiv'>< / div>);
相同:
var mySecondDiv = $(< div id ='mySecondDiv'>< / div>);
$('#myDiv')。append(mySecondDiv);
解决方案
每当您将一串HTML传递给任何jQuery方法,这是发生了什么:
创建一个临时元素,我们称它为x。 x的 innerHTML
被设置为您传递的HTML字符串。然后,jQuery会将每个生成的节点(即,x的 childNodes
)转移到新创建的文档片段中,然后将其下次缓存。然后它将返回片段的 childNodes
作为新的DOM集合。
请注意,它实际上比这更复杂,因为jQuery执行了一系列跨浏览器检查和各种其他优化。例如。如果你只传递< div>< / div>
到 jQuery()
只需做 document.createElement('div')
。
编辑: jQuery执行的绝对数量的检查,请看 here