DOM定义
个人关于文档对象模型的理解是我们日常开发的页面的各个基本结构,如HTML,Head,Body,..但是小红书上的解释是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface).DOM可以把页面映射为一个多层节点结构,把HTML或XML页面中的每个组成部分都当成是某种类型的节点,这些节点又包含着不同类型的数据,而通过DOM创建的这个表示文档的树形图,开发人员就能够主动的控制页面内容和结构。
DOM级别
DOM1级:DOM1级由 DOM核心 和 DOM HTML 两个模块组成,DOM 核心只是规定了怎样映射基于XML的文档结构,而DOM HTML则添加了针对HTML的对象和方法。
DOM2级:DOM2级在DOM1级的基础上鼠标和用户界面事件、范围、遍历等细分模块,并且通过对象接口能够支持CSS;
DOM2级引入了下列新模块:
1.DOM视图: 定义了跟踪不同文档的视图的接口;
2.DOM事件: 定义了事件和事件处理的接口;
3.DOM样式: 定义了基于CSS为元素应用样式的接口;
4.DOM遍历和范围: 定义了遍历和操作文档的树的接口。
DOM3级: 引入了以统一方式加载和保存文档的方法——在DOM加载和保存模块中定义;新增验证文档的方法——在DOM验证模块中定义。
浏览器对于DOM的支持方面
对于DOM的实现,首先是微软进行了尝试,但也仅仅是在IE5.5才能真正支持DOM1级,在随后的版本中一直到IE8,才只是修改了一些bug,不过到目前,IE9/10/11已经支持DOM2,DOM3,所有在开发过程中我们可以按自己需求进行选用,其他浏览器如FIrefox,Opera,Chrome也都以支持DOM,.