# JavaScript W3C DOM 规范级别

**URL:** <https://www.isharkfly.com/t/javascript-w3c-dom/8479>\
**Category:** 前端\
**Created:** [October 21, 2012, 2:54pm UTC](https://www.isharkfly.com/t/javascript-w3c-dom/8479 "2012-10-21T14:54:11Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [October 21, 2012, 2:54pm UTC](https://www.isharkfly.com/t/javascript-w3c-dom/8479/1 "2012-10-21T14:54:11Z")

</div>

DOM 规范是一个逐渐发展的概念，规范的发行通常与浏览器发行的时间不很一致，导致任何特定的浏览器的发行版本都只包括最近的W3C 版本。

W3C DOM 经历了三个阶段。

DOM Level 1 是W3C 于1998 年10 月提出的第一个正式的W3C DOM 规范。

它由DOMCore 和DOM HTML 两个模块构成。

前者提供了基于XML 的文档的结构图，以方便访问和操作文档的任意部分；后者添加了一些HTML 专用的对象和方法，从而扩展了DOM Core。

DOM Level 1 的主要目标是合理规划文档的结构。它的最大缺陷就是忽略了事件模型，其中包括NN2 和IE3 中最简单的事件模型。

DOM Level 2 基于DOM Level 1 并扩展了DOM Level 1，添加了鼠标和用户界面事件、范围、遍历（重复执行DOM 文档的方法）、XML 命名空间、文本范围、检查文档层次的方法等新概念，并通过对象接口添加了对CSS 的支持。同时引入几个新模块，用以处理新的接口类型，包括：

DOM 视图——描述跟踪文档的各种视图（即CSS 样式化之前和CSS 样式化之后的文档）的接口；

DOM 事件——描述事件的接口；

DOM 样式表——描述处理基于CSS 样式的接口；

DOM 遍历和范围——描述遍历和操作文档树的接口。

DOM Level 3 引入了以统一的方式载入和保存文档的方法（包含在新模块DOM Load and Save 中）以及验证文档（DOM Validation）的方法，从而进一步扩展了W3C DOM 规范。

在DOM Level 3 中，DOM Core 被扩展为支持所有的XML 1.0 特性，包括XML Infoset、XPath 和XML Base，从而改善了DOM 对XML 的支持。

注意：DOM 发展历史上曾出现了DOM Level 0 的说法，其实W3C DOM 规范并无此版本，只是DOM 标准的一个具有试验性质的初级DOM，主要指第四代浏览器中支持的原始DHTML，包括对图像进行链接、显示以及在客户端进行表单的数据合法性验证。
