用于检查Javascript对象是否为html元素的跨浏览器解决方案

时间:2011-04-21 17:17:46

标签: javascript html browser cross-browser yui

以下代码适用于FF但不适用于IE8:

var j = "test";
alert(j instanceof HTMLElement);

我不认为IE使用HTMLElement对象。有没有一种安全的方法在IE中进行此检查?也许有一个YUI解决方案?

2 个答案:

答案 0 :(得分:9)

我用来检查nodeType属性,对于所有HTML元素对象,它应该是1。

在我切换到jQuery之前,我在我的crossbrowser库中使用它。

text的nodeType为3,任何自定义对象都可能根本没有nodeType属性。

答案 1 :(得分:2)

如果你看一下jQuery源代码(不是缩小的ffs!),你会看到他们经常使用nodeType