JavaScript / jQuery html(null)vs html(”)

有没有一种使用jQuery“清除”元素内部html的最佳方法? 我使用.html(null)但是.html("")更有效率。 是否有更好/更好的方法来实现这一目标?

有没有理由不只是使用.empty()

而且,顺便提一下,如果你的问题是关于’效率’,只要效率与速度大致相当,那么我可以建议JS Perf进行自我测试吗?

顺便说一句,在JS Perf比较中 ,使用Chromium 18 / Ubuntu 11.04时, .empty()似乎始终是更快的方法。 参考文献:

除此之外; 如果你不介意使用普通的原生JavaScript,那么它更快 (在我的Samsung II上,DOM运行速度为〜82k ops / sec,在我的桌面上(没什么特别)在Chromium 18 / Ubuntu 11.04中,DOM运行于: ~860k ops / sec,而不是.empty() (下一个最快),8.4k ops / sec)。

基于DOM的方法:

 var list = document.getElementsByTagName('ul')[0]; while (list.firstChild) { list.removeChild(list.firstChild); } 

JS Perf比较上述所有方法 。

参考文献:

  • empty()