1. DOM2和DOM3
DOM2级规范定义了一些模块,用于增强DOM1级。“DOM2级核心”为不同的DOM类型引入了一些与XML命名空间有关的方法,这些变化只在使用XML或者XHTML,对于HTML文档没有实际意义。除了与XML命名空间有关方法外,“DOM2核心”还定义了以编程方式创建Document实例的方法,也支持了创建DocumentType对象。
“DOM2级样式”模块主要针对操作元素的样式信息而开发,其简要特性总结如下:
l 每个元素都有一个关联的style样式,可以用来确定和修改行内的样式
l 要确定某个元素的计算样式(包括应用给他的所有css规则),可以使用getComputedStyle()方法
l IE不支持getComputedStyle()方法,但为所有元素都提供了能够返回相同信息currentStyle属性
l 可以通过document.styleSheet集合访问样式表
l 除IE之外的所有浏览器都支持针对样式表的接口,IE也为几乎所有相应的DOM功能提供了自己的一套属性和方法
“DOM2级遍历和范围”模块提供了与DOM结构交互的不同方式,简要总结如下:
l 遍历即使用NodeIterator或TreeWalker对DOM执行深度优先的遍历
l NodeIterator是一个简单接口,只允许以一个节点的步幅前后移动,而TreeWalker在提供相同的同事,还支持在DOM结构的各个方向上移动,包括父节点、同辈节点和子节点等方向
l 范围是选择DOM结构中特定的部分,然后在执行相应操作的手段
l 使用范围选择选区可以在删除文档中某些部分的同时,保持文档结构的良好格式,或者复制文档中的相应部分
l IE8及更早版本不支持“DOM2级遍历和范围”,但它提供了一个专有的文本范围对象,可以用来完成简单的基于文本的范围操作。IE9完全支持DOM遍历