Answers:
empty()
将清空其内容的选择,但保留选择本身。remove()
将清空其内容的选择并删除选择本身。考虑:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
他们两个都删除了DOM对象,应该释放它们占用的内存,是的。
这里是文档的链接,其中还包含示例:
live
或的功能注册了这些处理程序delegate
。
该文档对此进行了很好的解释。它还包含示例:
之前:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
。去掉():
$('.hello').remove();
后:
<div class="container">
<div class="goodbye">Goodbye</div>
</div>
之前:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.empty():
$('.hello').empty();
后:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
就内存而言,一旦将元素从DOM中删除,并且不再有对其的引用,则垃圾收集器将在运行时回收该内存。