IE7中的HTMLElement原型

时间:2011-09-20 14:05:05

标签: javascript internet-explorer-7

我希望使用instanceof运算符检查传递给我的函数的参数是否是HTMLElement。我知道这在IE7中不起作用,因为AFAIK IE7没有定义HTMLElement。我想:没问题,我会回到像Node那样的父原型。但是,当StackOverflow的答案向我学习时,Node-object也未在IE7中定义

现在测试我的参数是节点/ HTMLElement的最佳方法是什么?我做错了吗?

2 个答案:

答案 0 :(得分:2)

在节点接口HTMLElement对应于类型1的节点。

const unsigned short      ELEMENT_NODE                   = 1;

http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1841493061

因此,您应该检查参数的nodeType

if (arg && 1 === arg.nodeType) { /* ... */ }

答案 1 :(得分:0)

我已经很久没用过IE7了,但是我会用if (typeof elementNode == 'element')查看 它可能是'element'或'HTMLElement'。要确保首先执行alert(typeof elementNode);以了解其类型。那么你可以比较它。

编辑:第一位评论者澄清了↑这不应该有效。

然后我会尝试检查是否有像nodeType或nodeName这样的成员。 也许像if (elementNode.nodeName !== null)这样的例子。始终尝试提醒()。