从选择jquery中删除项目

时间:2014-09-03 05:53:46

标签: javascript jquery

假设我声明了一个空的jQuery选择,$foo

var $foo = $();
console.log($foo.length); // 0

然后,在某些时候,<div id="foo"></div>被添加到文档中。

$foo = $('#foo');
console.log($foo.length); // 1

我想通过在选择上调用$foo来删除元素.remove()。我期望选择反映出元素不再存在于DOM中的事实,但事实并非如此。

$foo.remove();
console.log($foo.length); // 1

在我删除相关元素的简单情况下,我可以使用parentNode

检查元素的.prop()属性
if ( $foo.prop('parentNode') )
   // Exists
else
   // Does not exist

但是如果我删除$foo的父级而不是$foo呢?如果$foo被修改以使原始选择器与元素不匹配,该怎么办?如何可靠地检测到$foo不再出现在文档中?最终,有没有办法在原始选择中反映出来?

1 个答案:

答案 0 :(得分:1)

您可以使用.find()方法重新搜索找到的jQuery对象:

var length = $(document).find($foo).length;