文件物件模型

表示HTML、XHTML和XML文档并且与文档中的对象交互的协议

文件物件模型(英語:Document Object Model,縮寫DOM),是W3C組織推薦的處理可延伸標示語言超文件標示語言的標準程式介面。

文件物件模型
在HTML文件中DOM層級的例子
首次出版1998年10月1日,​26年前​(1998-10-01
最新版本DOM4[1]
2015年11月19日,​9年前​(2015-11-19
組織World Wide Web Consortium, WHATWG
基礎標準WHATWG DOM Living Standard
W3C DOM4
縮寫DOM

Document Object Model的歷史可以追溯至1990年代後期微軟與Netscape的「瀏覽器大戰」(browser wars),雙方為了在JavaScriptJScript一決生死,於是大規模的賦予瀏覽器強大的功能。微軟在網頁技術上加入了不少專屬事物,既有VBScriptActiveX、以及微軟自家的DHTML格式等,使不少網頁使用非微軟平台及瀏覽器無法正常顯示。DOM即是當時醞釀出來的傑作。

DOM (Document Object Model) 譯為文件物件模型,是 HTML 和 XML 文件的編程介面。

HTML DOM 定義了訪問和操作 HTML 文件的標準方法。

DOM 以樹結構表達 HTML 文件。

W3C DOM 標準被分為 3 個不同的部分:[2]

  • 核心 DOM - 針對任何結構化文件的標準模型
  • XML DOM - 針對 XML 文件的標準模型
  • HTML DOM - 針對 HTML 文件的標準模型

XML DOM 定義了所有 XML 元素的對象屬性,以及訪問它們的方法

HTML DOM

簡介

HTML DOM 是:[3]

  • HTML 的標準對象模型
  • HTML 的標準編程介面
  • W3C 標準

HTML DOM 定義了所有 HTML 元素的對象屬性,以及訪問它們的方法

換言之,HTML DOM 是關於如何取得、修改、添加或刪除 HTML 元素的標準。

DOM方法

編程介面

可通過 JavaScript (以及其他程式語言)對 HTML DOM 進行訪問。

所有 HTML 元素被定義為對象,而編程介面則是對象方法和對象屬性。

方法是您能夠執行的動作(比如添加或修改元素)。

屬性是您能夠取得或設定的值(比如節點的名稱或內容)。 一些常用的 HTML DOM 方法:

  • getElementById(id) - 取得帶有指定 id 的節點(元素)
  • appendChild(node) - 插入新的子節點(元素)
  • removeChild(node) - 刪除子節點(元素)

DOM對象

一些常用的 HTML DOM 屬性:

  • innerHTML - 節點(元素)的文字值
  • parentNode - 節點(元素)的父節點
  • childNodes - 節點(元素)的子節點
  • attributes - 節點(元素)的屬性節點

DOM屬性

  • nodeType 屬性
  • nodeValue 屬性
  • innerHTML 屬性

標準化

 
WHATWG DOM

W3C對DOM進行標準化的動作,目前已經推行至第四代。

Level 1

Level 2

Level 3

Level 4

參考文獻

  1. ^ All versioning refers to W3C DOM only.
  2. ^ Document Object Model (DOM) Specifications. www.w3.org. [2022-09-29]. (原始內容存檔於2022-06-02). 
  3. ^ JavaScript HTML DOM. www.w3schools.com. [2022-09-29]. (原始內容存檔於2022-10-22) (美國英語). 

外部連結

參見

  • SAX:Simple API for XML