【问题标题】:jQuery empty() vs text('')jQuery 空()与文本('')
【发布时间】:2013-03-26 11:58:41
【问题描述】:

有什么区别

$(element).empty()$(element).text('');

哪个更好?

【问题讨论】:

  • empty() 将摆脱 HTML 和文本,而 text('') 将摆脱文本。它们是两种不同的东西。所以这取决于你需要什么
  • 只是对内部的猜测,清除某些内容应该比将其分配给空字符串更快。 this 证明了我的假设。

标签: javascript jquery dom-manipulation


【解决方案1】:

结果是一样的,但是如果我们看一下jQuery的text方法实现:

text: function (value) {
    return jQuery.access(this, function (value) {
        return value === undefined
            ? jQuery.text(this)
            : this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(value));
    }, null, value, arguments.length);
},

我们将看到$(element).text(''); 实际上会在内部使用.empty。因此后者要快一些。

同样从语义的角度来看,如果你想清空某个节点,你应该明确地使用.empty 方法,而不是text

【讨论】:

  • 发完问题就主动看代码了..懒我
猜你喜欢
  • 1970-01-01
  • 2014-05-05
  • 2013-05-20
  • 2012-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
相关资源
最近更新 更多