0

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

4

2 回答 2

10

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

而且,顺便说一句,如果您的问题是关于“效率”,只要效率与速度大致相当,那么我是否可以建议使用JS Perf进行自我测试?

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

除上述以外;如果您不介意使用普通的原生 JavaScript,它会更快(在我的三星 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 比较

参考:

于 2012-05-28T15:58:09.063 回答
1

http://api.jquery.com/empty/

由 jQuery 提供

于 2012-05-28T15:58:36.680 回答