在 W3C 推出 DOM 標準之前,市場上已經流行了不同版本的 DOM 規範,主要包括 IE 和 Netscape 兩個瀏覽器廠商各自制訂的私有規範,這些規範定義了一套文件結構操作的基本方法。雖然這些規範存在差異,但是思路和用法基本相同,如文件結構物件、事件處理方式、指令碼化樣式等。習慣上,我們把這些規範稱為 DOM 0 級,雖然這些規範沒有同義並實現標準化,但是得到所有瀏覽器的支援並被廣泛應用。
1998 年 W3C 對 DOM 進行標準化,並先後推出了 3 個不同的版本,每個版本都是在上一個版本的基礎上進行完善和擴充套件。但是在某些情況下,不同版本之間可能會存在不相容的規定。
DOM 1 級
1998 年 10 月,W3C 推出 DOM 1.0 版本規範,作為推薦標準進行正式發布,主要包括兩個子規範。
-
DOM Core(核心部分):把 XML 文件設計為樹形節點結構,並為這種結構的執行機制制訂了一套規範化標準,同時定義了建立、編輯、操縱這些文件結構的基本屬性和方法。
-
DOM HTML:針對 HTML 文件、標籤集合,以及與個別 HTML 標籤相關的元素定義了物件、屬性和方法。
DOM 2 級
2000 年 11 月,W3C 正式發佈了更新後的 DOM 核心部分,並在這次發布中新增了一些新規範,於是人們就把這次發布的 DOM 稱為 2 級規範。
2003 年 1 月,W3C 又正式發布了對 DOM HTML 子規範的修訂,新增了針對 HTML 4.01 和 XHTML 1.0 版本文件中很多物件、屬性和方法。W3C 把新修訂的 DOM 規範同義稱為 DOM 2.0 推薦版本,該版本主要包括 6 個推薦子規範。
-
DOM2 Core:繼承於 DOM Core 子規範,規定了 DOM 文件結構模型,新增了更多的特性,如針對名稱空間的方法等。
-
DOM2 HTML:繼承於 DOM HTML,規定了針對 HTML 的 DOM 文件結構模型,並新增了一些屬性。
-
DOM2 Events:規定了與滑鼠相關的事件(包括目標、捕獲冒泡和取消)的控制機制,但不包含與鍵盤相關事件的處理部分。
-
DOM2 Style(或 DOM2 CSS):提供了存取和操縱所有與 CSS 相關的樣式及規則的能力。
-
DOM2 Traversal 和 DOM2 Range:DOM2 Traversal 規範允許開發人員通過疊代方式存取 DOM,DOM2 Range 規範允許對指定範圍的內容進行操作。
-
DOM2 Views:提供了存取和更新文件表現(檢視)的能力。
DOM 3 級
2004 年 4 月,W3C 發布了 DOM3 版本。DOM3 版本主要包括以下 3 個推薦子規範。
-
DOM3 Core:繼承於 DOM2 Core,並新增了更多的新方法和屬性,同時修改了已有的一些方法。
-
DOM3 Load and Save:提供將 XML 文件的內容載入到 DOM 文件中,以及將 DOM 文件序列化為 XML 文件的能力。
-
DOM3 Validation:提供了確保動態生成的文件的有效性的能力,即如何符合文件型別宣告。
存取 http://www.w3.org/2003/02/06-dom-support.html 頁面會自動顯示當前瀏覽器對 DOM 的支援狀態。