文檔對象模型

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

文件物件模型(英語:Document Object Model,縮寫DOM),是W3C組織推薦的處理可擴展置標語言超文本標記語言的標準程式接口。

文檔對象模型
在HTML文檔中DOM層級的例子
首次出版1998年10月1日,​26年前​(1998-10-01
最新版本DOM4[1]
2015年11月19日,​8年前​(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