知道DOM对象是否已经死亡

时间:2013-08-23 11:36:29

标签: javascript firefox

我正在使用包含网页元素(如按钮)的变量。 但是,有时我会收到错误“无法访问死对象”,因为自保存它以来,包含该元素的页面已更改。

我想知道检查一个元素是否死亡的方法,我试过:

if(element)
    alert("Do something");

但它没有按预期工作。

2 个答案:

答案 0 :(得分:0)

How to check if element exists in the visible DOM?

复制
   var elementInDocument = function(element) {
        while (element = element.parentNode) {
            if (element == document) {
                return true;
            }
        }
        return false;
    }

您可以像以下一样使用它:

if(elementInDocument(element))
    alert("Do something");

答案 1 :(得分:0)

//eval it in your mozilla-browser space

var dc = content.document;
content.document.location.reload();
setTimeout(function(){ 
  try{ 
    dc.parentNode;
  }catch(e){
    if (e.message.indexOf(' dead ')!=-1){
        alert('REALY DEAD!');
    }
} }, 1000);

这是对我的moz扩展项目中dead(在try..catch块中)的测试。