我有一个简单的HTML代码:
$( 'div.inner' ).replaceWith( '<div class="inner"><h2>New heading</h2></div>' );
哪一个更快,A)或B)?
A)
$( "div.inner" ).html( "<h2>New heading</h2>" );
B)
adb shell setenforce 0
还有更快的方式吗?
答案 0 :(得分:1)
使用html()
将比使用replaceWith()
函数快得多,大约快两倍(本地运行时约为57%)。这可以预期为核心,它只是设置元素的innerHtml
属性的包装器。
数字
replaceWith()
- 平均每秒24,767次操作html()
- 平均每秒58,446次操作答案 1 :(得分:0)
B)会更快,因为它会直接调用innerHTML
。
A)将转到父元素并调用replaceChild
。
答案 2 :(得分:0)
这是我为你准备的一个测试案例
https://jsperf.com/jqueryroller
结果(在我的电脑上)显示html()比replaceWith()快2倍。
您可以使用jsperf来测试将来的类似内容,如果需要,甚至可以编辑我的测试。