如何删除jQuery对象中元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除jQuery对象中元素相关的知识,希望对你有一定的参考价值。

你是要删除Jquery对象?还是要删除DOM节点元素?

如果是Jquery对象,可以这样做:

window._obj = '张三';//定义对象,这时候有了一个对象_obj
console.log(window._obj);//控制台输出对象:张三
delete window._obj;//删除对象name
console.log(window._obj);//控制台输出:Undefind(对象已被删除);

如果是Dom节点元素:

$('#your_id').remove();

参考技术A $('').remove(); 参考技术B 这个容易用delete,deletetestObj["2"];这样就没了

通过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中的其他地方添加它或从中检索信息)。

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

previewItems.eq(index).remove();
previewItems = previewItems.not(previewItems[index]);

以上是关于如何删除jQuery对象中元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery-替换和删除元素

通过EQ过滤删除元素不会从jQuery对象中删除该元素

如何使用 jQuery 销毁 DOM 元素?

如何使用Jquery / JavaScript完全删除canvas元素?

如何从 jquery 对象映射中过滤唯一的数据属性值

jQuery根据元素值或元素下标来删除一个数组元素及数组对象方法列表