DOM的层次分类
DOM是标准之一:DOM分为三个级别:DOM1,DOM2,DOM3。
DOM到底是什么?DOM实际上是文档对象模型的缩写,文档对象模型是一种提供访问或修改文档的方法的模型。它的范围很广,但对于web开发者来说,往往会认为它指的是JavaScript在浏览器中访问和修改html文档的一种技术,但实际上范围远不限于此。
DOM Level 1(DOM Level 1)在1998 10年6月成为W3C的推荐标准。DOM level 1由两个模块组成:DOM Core和DOM HTML。DOM Core可以基于XML映射文档结构,允许获取和操作文档的任何部分,同时传递DOM HTML。简单来说,DOM1级就是映射文档结构,提供基本的文档操作方法。
DOM2级别是DOM1级别的扩展。二级DOM通过对象接口增加了对鼠标和用户界面事件、范围、遍历和重叠样式表(CSS)的支持。同时,DOM1被扩展为支持XML名称空间。简单来说,DOM2 level在DOM1的基础上增加了视图、事件、样式、遍历和作用域的接口,支持XML命名空间。
DOM3级别,在之前DOM的基础上,引入了统一加载和保存文档的方法,增加了验证文档的方法,扩展了DOM内核,开始支持XML1.0规范。
除了以上三个级别,还有一个叫DOM0级别的东西,其实在标准里是不存在的。它指的是最初由IE4和Netscape Navigator 4.0支持的DHTML。DHTML实际上是HTML、CSS和JS的集成,代表的是一种现有的技术,而不是标准,所以DOM0级别实际上代表的是历史节点的一个还没有形成标准的初始产品。
举一个常见的DOM0级事件和DOM2级事件的比较:绑定按钮的onclick赋给一个函数,是DOM0级,但是onclick多次赋给不同的函数,会被下面的函数覆盖;但是DOM2 level使用提供的addEventListener方法来监听按钮的click事件,并多次写入监听同一个事件,所以函数会依次执行,不会被覆盖。