2012-04-08 16 views

回答

16

的DOM(文檔對象模型)開始在document節點。它被稱爲「根節點」。

遵守以下樹(括號中對應nodeType S):

[HTMLDocument](9) 
    [DocumentType](10) 
    [HTMLHTMLElement](1) 
     [HTMLHeadElement](1) 
      [HTMLTitleElement](1) 
       [Text]Title(3) 
     [HTMLBodyElement](1) 

的tree¹將從以下標記來形成:

<!DOCTYPE HTML><html><head><title>Title</title></head></body></html> 

注意明顯缺乏空白的。添加空格會將文本節點添加到文檔樹中,並且使其更難以模擬。

window對象不是DOM的一部分。它是一個實現爲「global object」的主機對象,用於完成ECMAScript實現。它的own standard可以從W3C獲得。儘管全局對象需要完成ECMAScript實現,但DOM不是。這在node.js環境中有例子。

¹某些環境忽略doctype節點。我觀察到Opera 5-9和Safari 3.1是表現這種行爲的環境。

+6

這是正確的答案,DOM從'document'開始。順便說一句,'window'及其屬性,方法和事件有時稱爲「BOM」或瀏覽器對象模型。 – bfavaretto 2012-04-09 02:03:14

+2

沒錯。 DOM也是語言不可知的。它不限於JavaScript或ECMAScript。 – 2012-04-09 02:05:11

+0

@MattMcDonald正如你可以在PHP的[DOMDocument](http://php.net/manual/en/class.domdocument.php)庫中觀察的那樣。 – alex 2012-04-09 05:51:08

-6

沒有窗口的公共標準,但大多數瀏覽器都使用Window來支持它。 我發現了很多好東西:http://www.w3schools.com(我與該網站沒有任何關係)。

一個簡單的谷歌搜索「DOM HTML」圖像將得到您的圖像。然後......

當一切都失敗了 - 去來源:http://www.w3.org/TR/DOM-Level-2-HTML/html.html

+4

感謝您的回答。 BTW。你可能想檢查一下:http://w3fools.com/ – weilou 2012-04-08 17:47:40

+3

窗口有它自己的標準。請參閱我的答案獲取鏈接。 – 2012-04-09 01:58:59

+2

以防萬一在將來讀這個答案的人認爲這是正確的..它不是。 MattMcDonald的答案是*突飛猛進*比這更好。也***永遠不要聽w3schools。他們不知道他們在說什麼,並會誤導你。 – rlemon 2012-04-09 12:58:32