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

Гро*_*ный 0 javascript performance jquery

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

Dav*_*mas 10

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

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

顺便提一下,在使用Chromium 18/Ubuntu 11.04 的JS Perf比较中,.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);
}
Run Code Online (Sandbox Code Playgroud)

JS Perf比较上述所有方法.

参考文献:

  • 使用`null`作为值,他使用`empty` - 间接http://jsapi.info/jquery/1.7.1/jQuery.fn.html (3认同)