在我的代码中,我有一个带有 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 吗?
在我的代码中,我有一个带有 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 吗?
你可以用 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.
}