IE、Firefox、Safari、Chrome 和Opera 都非常完善地实现了DOM。
注意,IE 中的所有DOM 对象都是以COM 对象的形式实现的。这意味着IE 中的
DOM 对象与原生JavaScript 对象的行为或活动特点并不一致。本章将较多地谈及这些
差异。
10.1
节点层次
DOM 可以将任何HTML 或XML 文档描绘成一个由多层节点构成的结构。节点分为几种不同的类
型,每种类型分别表示文档中不同的信息及(或)标记。每个节点都拥有各自的特点、数据和方法,另
外也与其他节点存在某种关系。节点之间的关系构成了层次,而所有页面标记则表现为一个以特定节点
为根节点的树形结构。以下面的HTML 为例:
<html> <head> <title>Sample Page</title> </head> <body> <p>Hello World!</p> </body> </html>
称之为文档元素。文档元素是文档的最外层元素,文档中的其他所有元素都包含在文档元素中。每个文
档只能有一个文档元素。在HTML 页面中,文档元素始终都是<html>元素。在XML 中,没有预定义
的元素,因此任何元素都可能成为文档元素。
每一段标记都可以通过树中的一个节点来表示:HTML 元素通过元素节点表示,特性(attribute)
通过特性节点表示,文档类型通过文档类型节点表示,而注释则通过注释节点表示。总共有12 种节点
类型,这些类型都继承自一个基类型。