可能重复:
Javascript isDOM — How do you check if a Javascript Object is a DOM Object?
在我的代码中,我有一个带有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";
}
这个代码足以使state元素来自DOM吗?
答案 0 :(得分:0)
你可以用jQuery做到这一点,jQuery对象$(“#myid”)总是返回一些东西 - 一个jQuery对象。要检查它是否实际代表页面上的现有DOM元素,您可以使用以下内容:
if ( $("#myid").length > 0 ) {
//do something
}
或者根据此answer,你可以这样检查:
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.
}