empty()
のとremove()
メソッドの違いは何ですかjQuery
。これらのメソッドのいずれかを呼び出すと、作成中のオブジェクトは破棄され、メモリが解放されますか?
53339 次
3 に答える
162
empty()
その内容の選択を空にしますが、選択自体は保持します。remove()
その内容の選択を空にし、選択自体を削除します。
検討:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
どちらも DOM オブジェクトを削除し、占有するメモリを解放する必要があります。
例も含まれているドキュメントへのリンクを次に示します。
于 2010-06-22T06:15:37.490 に答える
55
ドキュメントはそれを非常によく説明しています。また、例も含まれています。
前:
<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>
。空の():
$('.hello').empty();
後:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
メモリに関する限り、要素が DOM から削除され、その要素への参照がなくなると、ガベージ コレクタは実行時にメモリを再利用します。
于 2010-06-22T06:14:55.090 に答える
2
$("body").empty()
-- body タグ内の HTML DOM 要素を削除します -
宣言する $("body").remove()
と、body TAG とともに HTML DOM 全体が削除されます。
于 2013-08-03T05:18:55.340 に答える