1

我使用此代码来匹配元素列表:

var previewItems = preview.find('.items').children().not('.heads');

一切正常,但是当我尝试通过选择它的 EQ 来删除其中一项时,在它从 DOM 中删除后,它保留在匹配元素的 jQuery 对象中。

previewItems.eq(index).remove();
alert(previewItems.eq(index)); // [object Object]

为什么 jQuery 将元素保留在匹配元素的组中?

4

1 回答 1

2

为什么 jQuery 将元素保留在匹配元素的组中?

如果您想在删除它后对其进行处理。remove从 DOM 中删除元素,但您可能还想进一步做一些事情(比如将其添加到 DOM 中的其他位置或从中检索信息)。

slice您可以使用or将其从集合中删除notfilter(或更准确地说:您可以获得一个具有所有相同元素的slice对象,但/省略的元素除外not):

previewItems.eq(index).remove();
previewItems = previewItems.not(previewItems[index]);
于 2013-08-14T11:56:46.960 回答