javascript - IE8 和 IE9 中的文档对象模型原型(prototype)

标签 javascript internet-explorer dom prototype

我读了一篇关于 Document Object Model Prototypes 的帖子.虽然这篇文章很有趣而且写得很好,但在我看来,这篇文章的实际内容在现实中并不真实。例如下面的代码:

var div = document.createElement("div");
alert(div.constructor);

在 FireFox 上警告 [object HTMLDivElement](以及在 Chrome 上的类似消息)但在 IE(8 和 9)上它警告 undefined。我还尝试从帖子本身复制/粘贴代码片段,但它们无法运行。 我错过了什么吗?

最佳答案

这是未定义的行为。

.constructor 属性绑定(bind)了 JavaScript .prototype。 FireFox 和 chrome 似乎具有通过 JavaScript 原型(prototype)继承的 DOM 元素,而 IE 只是在内部创建一个元素。

对于从 .createElement 返回的 div 元素是否应该通过原型(prototype)继承,没有一个可靠的规范。您不应该对 DOM 节点的继承链做出任何假设,因为它完全依赖于浏览器。

关于javascript - IE8 和 IE9 中的文档对象模型原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531161/

相关文章:

Java XPath API 提取选择性文本

angular - 可以在来自第三方库的 DOM 元素中渲染 Angular 2 组件吗?

javascript在设置css类后无法获取样式

javascript - 克隆/重用 html 表单(使用 javascript)

创建 'Object doesn' 的 Javascript 映射方法是否支持 Internet Explorer (IE) 中的此属性或方法?

javascript - 在变量中声明函数会影响性能吗?

IE 上的 jQuery 可见性选项

javascript - 将文件从 Windows 资源管理器拖放到 Internet Explorer

javascript - 如何在jquery中添加一个或多个克隆

javascript - Google Apps 脚本未检测到当前行