javascript - IE7 中的 HTMLElement 原型(prototype)

标签 javascript internet-explorer-7

我想使用 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/

相关文章:

javascript:访问表中的元素

javascript - 有没有办法在 Google Maps API V3 中同步 map 拖动?

javascript - TinyMCE:禁用 html 编辑按钮

javascript - 在 Javascript 中更改没有 ID 的特定元素的 CSS

css - Flash 上的 IE7 下拉菜单 - 边框将鼠标悬停发送到 Flash

jquery - 通过单击文本链接填写表格?

javascript - 如何使用 Angular 将新对象添加到现有动态响应

css - 如何修复 IE6 和 7 中表格超出 div 标签的问题?

css - 为什么 IE7 无法识别 anchor 标记上的 css 填充样式?

jquery - IE7 输入 :focus