DOM级别

目录

DOM目标

  DOM标准的目标是让“任何一种程序设计语言”能操控使用“任何一种标记语言”编写出的“任何一份文档”。“操控”具体含义为能通过DOM提供的API对文档的内容、结构、样式进行访问和修改。


DOM分类

  • DOM核心:针对任何结构化文档的标准模型
  • DOM XML :只针对XML文档的标准模型
  • DOM HTML:只针对HTML文档的标准模型

DOM级别

DOM Level 0

  实际上没有没有DOM0级的官方标准。它是DOM历史的一个参照点,指的是IE4和Netscape4.0这些浏览器最初支持的DHTML。

DOM Level 1

  DOM1级(DOM Level 1)于1998年10月成为W3C的推荐标准。DOM1级由两个模块组成:DOM核心(DOM Core)和DOM HTML。其中,DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法。

DOM Level 2

  DOM2级在原来DOM的基础上又扩充了(DHTML一直都支持的)鼠标和用户界面事件、范围、遍历(迭代DOM文档的方法)等细分模块,而且通过对象接口增加了对CSS(Cascading Style Sheets,层叠样式表)的支持。DOM1级中的DOM核心模块也经过扩展开始支持XML命名空间。具体增加以下内容:

  • DOM视图(DOM Views):定义了跟踪不同文档(例如,应用CSS之前和之后的文档)视图的接口;
  • DOM事件(DOM Events):定义了事件和事件处理的接口;
  • DOM样式(DOM Style):定义了基于CSS为元素应用样式的接口;
  • DOM遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口。

    DOM Level 3

      进一步扩展了DOM,引入了以统一方式加载和保存文档的方法–在DOM加载和保存(DOM Load and Save)模块中定义;新增了验证文档的方法–在DOM验证(DOM Validation)模块中定义。DOM3级也对DOM核心进行了扩展,开始支持XML 1.0规范,涉及XML Infoset、XPath和XML Base。

DOM级别与事件模型

0级

  0级模型的注册事件,典型如:

1
<input type="button" onclick="buttonClick()"/>

浏览器处理事件的时候只有原始事件模型,事件处理程序被设置为js代码串作为html的性质值。在js中html元素都有一个对应的对象,这个对象的属性对应那个html元素的性质,所以可以用js代码添加事件监听函数。通常情况下事件监听函数如果返回一个值并且是false,则会阻止浏览器执行默认的动作。无论用html还是js,都是把一个函数赋值给文档元素,在事件监听函数被调用时候它是作为产生事件的元素的方法调用的,所以this引用的是那个目标元素。

2级

  2级DOM上的事件模型则涉及到了javascript对DOM的事件传播机制的操作,详见另一篇客户端JavaScript中的事件传播机制