使用jQuery清空元素的最有效方法是什么

Jak*_*ake 8 jquery

所有这些都做到了,但最有效的方法是什么?

$(selector).html('');
$(selector).text('');
$(selector).children().remove();
Run Code Online (Sandbox Code Playgroud)

Ben*_*Lee 12

请参见http://api.jquery.com/empty

$(selector).empty();
Run Code Online (Sandbox Code Playgroud)

这绝对是最明确的方式,而且几乎绝对是最有效的.

因为它是jQuery-internal,它可能比效率更高.children().remove(),而且效率肯定也不低.

我不得不认为,.html('').text('')都是低效率的,因为它们调用HTML解析器,而不是仅仅处理像其他方法DOM节点.即使它们碰巧效率更高,效率的任何提高都会轻易超过使用empty()的清晰度,除非你真的需要根据特定原因优化该部分(在这种情况下我只是基准测试所有选项).

  • *"我不得不认为.html('')和.text('')都比较慢......"*无需考虑它,包括`html('')`和`text(''' )**在它们的实现中调用*`empty()`,因此定义效率较低. (3认同)