通过EQ过滤删除元素不会从jQuery对象中删除该元素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过EQ过滤删除元素不会从jQuery对象中删除该元素相关的知识,希望对你有一定的参考价值。
我使用此代码来匹配元素列表:
var previewItems = preview.find('.items').children().not('.heads');
一切正常,但是当我尝试通过选择它的EQ来删除其中一个项目时,从DOM中删除后,它会保留在匹配元素的jQuery对象中。
previewItems.eq(index).remove();
alert(previewItems.eq(index)); // [object Object]
为什么jQuery将元素保存在匹配元素的组中?
答案
为什么jQuery将元素保存在匹配元素的组中?
如果你想删除它后想要做一些事情。 remove
从DOM中删除了元素,但您可能希望进一步做某事(比如在DOM中的其他地方添加它或从中检索信息)。
您可以使用slice
或not
或filter
将其从集合中删除(或者更准确地说:除了slice
/ not
省略的元素之外,您可以获得具有所有相同元素的新对象):
previewItems.eq(index).remove();
previewItems = previewItems.not(previewItems[index]);
以上是关于通过EQ过滤删除元素不会从jQuery对象中删除该元素的主要内容,如果未能解决你的问题,请参考以下文章