【发布时间】:2012-05-28 15:53:34
【问题描述】:
有没有使用 jQuery “清除”元素内的 html 的最佳方法?我使用.html(null),但.html("") 更有效。有没有更好/更好的方法来实现这一点?
【问题讨论】:
标签: javascript jquery performance
有没有使用 jQuery “清除”元素内的 html 的最佳方法?我使用.html(null),但.html("") 更有效。有没有更好/更好的方法来实现这一点?
【问题讨论】:
标签: javascript jquery performance
有理由不只使用.empty()吗?
顺便说一句,如果您的问题是关于“效率”,只要效率与速度大致相当,那么我是否可以建议 JS Perf 进行自我测试?
顺便说一句,在 JS Perf comparison 中,使用 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 comparison of all above approaches.
参考资料:
【讨论】:
null 为值,他使用empty - 间接使用jsapi.info/jquery/1.7.1/jQuery.fn.html
val() 问题提供帮助 =),那么不,我不相信在这种情况下。跨度>
由 jQuery 提供
【讨论】: