我想使用 instanceof 运算符检查传递给我的函数的参数是否为 HTMLElement。我知道这在 IE7 中不起作用,因为 AFAIK IE7 没有定义 HTMLElement。我想:没问题,我会回到像 Node 这样的父原型(prototype)。但是,正如我从 StackOverflow 上的答案了解到的那样,IE7 中也没有定义 Node 对象
现在测试我的参数是否为节点/HTMLElement 的最佳方法是什么?我做错了吗?
最佳答案
在 Node 接口(interface)中,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) { /* ... */ }
关于javascript - IE7 中的 HTMLElement 原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7486479/