jQuery
のempty()
メソッドとremove()
methodsの違いは何ですか。これらのメソッドのいずれかを呼び出すと、作成中のオブジェクトが破棄され、メモリが解放されます。
empty()
は、選択のすべてのコンテンツを削除します。remove()
は、選択とその内容を削除します。考慮してください:
<div>
<p><strong>foo</strong></p>
</div>
$('p').empty(); // --> "<div><p></p></div>"
// whereas,
$('p').remove(); // --> "<div></div>"
どちらもDOMオブジェクトを削除し、占有しているメモリを解放するはずです、はい。
ドキュメントはそれを非常によく説明しています。例も含まれています。
前:
<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>
。空の():
$('.hello').empty();
後:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
メモリに関する限り、DOMから要素が削除され、それに対する参照がなくなると、ガベージコレクタは実行時にメモリを再利用します。
$("body").empty()
-bodyタグ内のHTML DOM要素を削除します-
$("body").remove()
を宣言すると、本体TAGとともにHTML DOM全体が削除されます。