如何检查jQuery选出的对象是否还在DOM中
如何检查jquery选出的对象是否还在dom树中,而不是从DOM树中删除掉。
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> <p>DOM1</p> <p>DOM2</p> <script> var $cache1 = $("p"); //jQuery选出所有p对象 $("p:eq(0)").remove(); //jQuery移除第一个p对象 alert($cache1.size())//输出2,而不是1 //由于$cache1只是选出对象的一个副本,上面的删除代码不会影响$cache1的长度 for (var i = 0; i < $cache1.size(); i++) { //遍历缓存对象,通过获取parent对象来判断,被移除的dom对象是没有parent对象的 if ($cache1.eq(i).parent().size() == 0) alert('元素“' + $cache1.eq(i).html() + '”不在DOM树中'); } </script>
也可以使用jQuery的contains方法或者closest方法
if (!jQuery.contains(document, $foo[0])) { //Element is detached } //或者 $foo.closest(document)
加支付宝好友偷能量挖...
原创文章,转载请注明出处:如何检查jQuery选出的对象是否还在DOM中