假设我声明了一个空的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
不再出现在文档中?最终,有没有办法在原始选择中反映出来?
答案 0 :(得分:1)
您可以使用.find()
方法重新搜索找到的jQuery对象:
var length = $(document).find($foo).length;