【问题标题】:JavaScript/jQuery html(null) vs html('')JavaScript/jQuery html(null) 与 html('')
【发布时间】:2012-05-28 15:53:34
【问题描述】:

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

【问题讨论】:

标签: javascript jquery performance


【解决方案1】:

有理由不只使用.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()??
  • 不客气,我很高兴为val() 问题提供帮助 =),那么不,我不相信在这种情况下。跨度>
【解决方案2】:

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

由 jQuery 提供

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-15
    • 2011-03-02
    • 2011-04-03
    • 2012-02-08
    • 2011-10-18
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多