2012-04-04 139 views
0

铬给人follwing原型链一个div:DOM原型链遍历

element = document.getElementById("test") 
<div id=​"test">​…​</div>​ 
element.__proto__ 
HTMLDivElement 
element.__proto__.__proto__ 
HTMLElement 
element.__proto__.__proto__.__proto__ 
Element 
element.__proto__.__proto__.__proto__.__proto__ 
Node 
element.__proto__.__proto__.__proto__.__proto__.__proto__ 
Object 
element.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__ 
null 

虽然在Firefox的情况下,我得到的东西像下面和xpconnect貌似有些桥梁。 我在Mozilla文档中获得了相同的原型链图片(与Chrome相同)。这里我的问题是如何通过从HTMLDiv元素遍历Node对象?如果我们有div元素,有人可以编写js代码给我Node对象或任何其他对象,如HTMLElement吗?

图像看起来相同的镀铬模型,但我需要的代码来遍历这棵树:)

在此先感谢。

Link of image

enter image description here

var element = document.getElementById("test"); 
element.toString(); 
[object HTMLDivElement] 
element.__proto__.toString(); 
[xpconnect wrapped native prototype] 
element.__proto__.__proto__.toString(); 
[xpconnect wrapped native prototype] 
element.__proto__.__proto__.__proto__.toString(); 
[xpconnect wrapped native prototype] 
element.__proto__.__proto__.__proto__.__proto__.toString(); 
[object DOM Constructor.prototype] 
element.__proto__.__proto__.__proto__.__proto__.__proto__.toString(); 
[object Object] 

我相信element.constructor.prototype。 原型和元素。 原型是同样的事情。

+0

你到底想达到什么目的? – 2012-04-04 14:27:34

+0

我想在链的每一步比较Chrome和Firefox的属性。 – 2012-04-04 14:29:18

+0

在Firefox中有一个[已知错误](https://bugzilla.mozilla.org/show_bug.cgi?id=684601),导致'toString'返回'[xpconnect包装的本机原型]'。 – 2012-04-04 15:14:33

回答

-1

一个对象的是一个对象,这当然有裁判一个对象,所以他们都是一样的