0

jQuery.remove()メソッドについて質問です。次のコードを検討してください。

var x;
$("#btn1").click(function() {
    x = $("p").remove();
});
$("#btn2").click(function() {
    $("body").prepend(x);
});

button2 をクリックしてコードがチェックされると、段落要素が復元されます。remove()detach()方法が違うと聞きました。remove()それ自体がすべてのjQueryデータを保持している場合、それらはどのように異なるのでしょうか?

4

1 に答える 1

3

.remove()に含まれる要素に関する jQuery 内部データを から削除しjQuery.cacheます。このようなデータには、カスタム データ セットと.data()、jQuery のイベント モデルに必要なデータが含まれます。

.detach()そのデータは削除されません。

.remove()/.detach()さらに、要素を DOM ツリーから削除するだけです。配列からアイテムを削除するようなものです...アイテム自体は、配列に存在しなくなったとしても、魔法のように消えるだけではありません。特に、コードで行っているように参照を保持している場合。

于 2013-02-06T17:02:20.307 に答える