客户端Web 应用程序开发人员面对的最大障碍在于DOM 有很多不同的版本,同时在浏览器版本更替过程中,对象模型又不是统一的,如果需要在不同浏览器环境中运行该网页,将会发现对象的很多属性或方法,甚至某些对象都不起作用。
W3C 文档对象模型(DOM)是一个中立的接口语言平台,为程序以及脚本动态地访问和更新文档内容,结构以及样式提供一个通用的标准。
它将把整个页面(HTML 或XML)规划成由节点分层构成的文档,页面的每个部分都是一个节点的衍生物,从而使开发者对文档的内容和结构具有空前的控制力,用DOM API 可以轻松地删除、添加和替换指定的节点。
DOM 规范必须适应HTML 的已知结构,同时适应XML 文档的未知结构。
DOM 的概念主要有:
核心 DOM:指定类属类型,将带有标记的文档看成树状结构并据此对文档进行相关操作;
DOM 事件:包括使用者熟悉的鼠标、键盘事件,同时包括DOM 特有的事件,当操作文档对象模型中的各元素对象时发生。
HTML DOM:提供用于操作HTML 文档以及类似于JavaScript 对象模型语法的功能部件,在核心DOM 的基础上支持对所有HTML 元素对象进行操作。
XML DOM:提供用于操作XML 文档的特殊方法,在核心DOM 的基础上支持对XML 元素如进程指导、名称空间、CDATA 扇区项等的操作。
DOM CSS:提供脚本编程实现CSS 的接口。