回答:
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>
。空の():
$('.hello').empty();
後:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
メモリに関する限り、要素がDOMから削除され、それへの参照がなくなると、ガベージコレクターは実行時にメモリを再利用します。
$("body").empty()
-bodyタグ内のHTML DOM要素を削除します-
宣言 $("body").remove()
すると、HTML DOM全体と本体TAGが削除されます。