0

我有一个与 jQuery.remove()方法有关的问题。考虑这段代码:

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

如果在单击按钮 2 时检查了代码,则恢复段落元素。听说remove()detach()方法不一样。当remove()自己保留所有 jQuery 数据时,它们有何不同?

4

1 回答 1

3

.remove()jQuery.cache. 此类数据包括自定义数据集.data()和 jQuery 事件模型所需的数据。

.detach()不会删除该数据。

.remove()/.detach()另外只需从 DOM 树中删除元素。这就像从数组中删除一个项目......即使它不再在数组中,项目本身也不会神奇地消失。特别是如果您像在代码中那样保留对它的引用。

于 2013-02-06T17:02:20.307 回答