IE8和IE9中的文档对象模型原型

时间:2011-04-03 17:20:13

标签: javascript internet-explorer dom prototype

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

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

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

1 个答案:

答案 0 :(得分:2)

这是未定义的行为。

.constructor属性绑定了JavaScript .prototype。看起来FireFox和chrome有DOM元素通过JavaScript原型继承,而IE只是在内部创建一个元素。

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