DOM基础
DOM(Document Object Model,文档对象模型)是W3C制定的一套技术规范,用来描述JavaScript脚本怎样与HTML或XML文档进行交互的Web标准。DOM规定了一系列标准接口,允许开发人员通过标准方式访问文档结构,操作网页内容、控制样式和行为等。
DOM各版本
1998年W3C对DOM进行标准化,并先后推出了3个不同的版本,下面重点说明以下。注意,每个版本都是在上一个版本基础上进行完善和扩展。但是在某些情况下,不同版本之间可能会存在不兼容的规定。
DOM 1.0
1998年10月,W3C推出DOM1.0版本规范,作为推荐标准正式发布,主要包括两个子规范。
-
DOM Core (核心部分):
把XML文档设计为树形节点结构,并为这种结构的运行机制制定了一套规范化标准。同时定义了创建、编辑、操纵这些文档结构的基本属性和方法。 -
DOM HTML:
针对HTML文档、标签集合,以及与个别HTML标签相关的元素定义了对象、属性和方法。
DOM 2.0
2000年11月,W3C正式发布了更新后的DOM核心部分,并在这次发布中添加了一些新规范,于是人们就把这次发布的DOM称为2级规范。
2003年1月,W3C又正式发布了对DOM HTML子规范的修订,添加了针对HTML4.01和XHTML1.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 View:
提供了访问和更新文档表现(视图)的能力
者6个部分之间关系如下图,从中可以看到它们之间存在很大的关联性。DOM 2.0 已经称为目前各大浏览器支持的主流标准,但是早期IE对于该规范的支持还是不尽人意。
DOM 2.0 各个子规范之间的关系:
DOM 3.0
2004年4月,W3C发布了DOM 3.0 版本。DOM3级版本主要包括以下3个推荐子规范。
-
DOM3 Core:
继承与DOM2 Core,并添加了更多的新方法和属性,同时修改了已有的一些方法 -
DOM3 Load and Save:
提供将XML文档的内容加载到DOM文档中,以及将DOM文档序列化为XML文档的能力 -
DOM3 Validation:
提供了确保动态生成的文档有效性的能力,即如何符合文档类型声明。