0

可能重复:
Javascript isDOM — 如何检查 Javascript 对象是否为 DOM 对象?

在我的代码中,我有一个带有 DOM 元素的对象。

为了保持示例清晰,下面的代码已更改为最低限度。

var Test = function(element){
  //if element does not come from the DOM -> throw
};

如何确定该元素来自 DOM 树?

if(element.parentNode === null) {
  throw "not coming from the DOM";
}

这段代码足以说明元素来自 DOM 吗?

4

1 回答 1

0

你可以用 jQuery 来做到这一点,jQuery 对象 $("#myid") 总是返回一些东西——一个 jQuery 对象。要检查它是否真的代表页面上现有的 DOM 元素,可以使用以下命令:

if ( $("#myid").length > 0 ) {
//do something
}

或者基于此答案,您可以像这样检查它:

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

或像这样:

var element =  document.getElementById('elementId');
if (typeof(element) != 'undefined' && element != null)
{
  // exists.
}
于 2012-10-19T09:01:43.193 回答