如何判断出一个js对象是不是一个dom对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断出一个js对象是不是一个dom对象相关的知识,希望对你有一定的参考价值。

在DOM Level2标准中定义了一个htmlElement对象,它规定所有的DOM对象都是HTMLElement的实例,所以我们可以利用这点来判断一个对象是不是DOM对象:如果该对象是HTMLElement的实例,则它肯定是一个DOM对象。在不支持HTMLElement的浏览器中我们则还是使用特征检测法。
<script type="text/javascript">
//首先要对HTMLElement进行类型检查,因为即使在支持HTMLElement
//的浏览器中,类型却是有差别的,在Chrome,Opera中HTMLElement的
//类型为function,此时就不能用它来判断了
var isDOM = ( typeof HTMLElement === \'object\' ) ?
function(obj)
return obj instanceof HTMLElement;
:
function(obj)
return obj && typeof obj === \'object\' && obj.nodeType === 1 && typeof obj.nodeName === \'string\';

</script>
参考技术A obj instanceof HTMLElement|| obj == document

以上是关于如何判断出一个js对象是不是一个dom对象的主要内容,如果未能解决你的问题,请参考以下文章

js中如何判断一个DOM对象是否存在?

谈谈对虚拟DOM的理解

jquery 判断是否dom对象

如何使用 JavaScript 判断 DOM 对象是不是在窗口外? [复制]

javascript判断对象是否为domElement

怎样判断一个对象 是 jquery对像 还是dom对象