DOM2 规范定义了一些模块,用来丰富 DOM1 的功能。DOM2 Core 在一些类型上增加了与 XML命名空间 有关的新方法。这些变化只有在使用 XML 或 XHTML 文档时才会用到,在 HTML 文档中则没有用处。DOM2 增加的与 XML 命名空间无关的方法涉及以编程方式创建 Document 和 DocumentType类型的新实例。
DOM2 Style 模块定义了如何操作元素的样式信息 CSS:
- 每个元素都有一个关联的 style 对象,可用于确定和修改元素特定的样式
- 要确定元素的计算样式,包括应用到元素身上的所有 CSS规则,可以使用 getComputedStyle()方法
- 通过 document.styleSheets 集合可以访问文档上所有的样式表
DOM2 Traversal and Range 模块定义了与 DOM 结构交互的不同方式:
- NodeIterator 和 TreeWalker 可以对 DOM 树执行 深度优先的遍历
- NodeIterator 接口很简单,每次只能向前和向后移动一步
- TreeWalker 除了支持同样的行为,还支持在 DOM 结构的所有方向移动,包括父节点、同胞节点和子节点。
范围是选择 DOM 结构中特定部分并进行操作的一种方式。通过范围的选区可以在保持文档结构完好的同时从文档中移除内容,也可复制文档中相应的部分。