DOM

由浏览器提供的宿主对象。DOM提供操作文档的接口。

DOM标准

DOM0

  • 在W3C未制定标准前,IE4和Netscape 4的两个浏览器支持的私有规范。

    DOM1

  • DOM Core: DOM核心功能就是将文档映射为树形节点结构,定义操作文档结构的基本属性和方法。

  • DOM HTML:DOM核心的扩展,定义针对HTML文档的属性和方法。

重点DOM1没有规定事件模块。

DOM2

  • DOM2 Core:继承于 DOM Core 子规范,规定了 DOM 文档结构模型,添加了更多的特性,如针对命名空间的方法等。
  • DOM2 HTML:继承于 DOM HTML,规定了针对 HTML 的 DOM 文档结构模型,并添加了一些属性。
  • DOM2 Events:规定了与鼠标相关的事件(包括目标、捕获冒泡和取消)的控制机制,但不包含与键盘相关事件的处理部分。
  • DOM2 Style(或 DOM2 CSS):提供了访问和操纵所有与 CSS 相关的样式及规则的能力。
  • DOM2 Traversal 和 DOM2 Range:DOM2 Traversal 规范允许开发人员通过迭代方式访问 DOM,DOM2 Range 规范允许对指定范围的内容进行操作。
  • DOM2 Views:提供了访问和更新文档表现(视图)的能力。

    DOM3

  • DOM3 Core:继承于 DOM2 Core,并添加了更多的新方法和属性,同时修改了已有的一些方法。

  • DOM3 Load and Save:提供将 XML 文档的内容加载到 DOM 文档中,以及将 DOM 文档序列化为 XML 文档的能力。
  • DOM3 Validation:提供了确保动态生成的文档的有效性的能力,即如何符合文档类型声明。

总结思考

  • DOM操作中有一些不同的属性,但是属性值是一样的,这是在不同的执行环境的考虑,并不是没有意义。
  • EventTarget和Node类是抽象类,不会实例化对象,只提供公共的属性和方法。
  • 从节点的角度来理清整个DOM结构。

易错点DOM不能直接更改CSS样式表中的数据。而是通过给节点中的style增加属性值,来操作节点的样式。
我的想法document对象中的方法,比如getElementByClassName(),该方法中应该使用的new Element类,得到元素对象。