【发布时间】:2011-03-06 15:53:04
【问题描述】:
jQuery中的empty()和remove()方法有什么区别,当我们调用这些方法中的任何一个时,正在创建的对象都会被销毁并释放内存?
【问题讨论】:
标签: javascript jquery dom-manipulation
jQuery中的empty()和remove()方法有什么区别,当我们调用这些方法中的任何一个时,正在创建的对象都会被销毁并释放内存?
【问题讨论】:
标签: javascript jquery dom-manipulation
文档解释得很好。它还包含示例:
之前:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
.remove():
$('.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 中移除并且不再有对它的引用,垃圾收集器就会在它运行时回收内存。
【讨论】:
【讨论】:
live 或 delegate 之类的函数中。
$("body").empty() -- 它'删除了 body 标签内的 HTML DOM 元素 --
当您声明 $("body").remove() - 它会删除整个 HTML DOM 以及 body TAG。
【讨论】: