在看Js视频的时候就感觉Dom这东西太神奇了。在这个注重用户体验的Web设计时代里,Dom是至关重要的。它的易用性强,并且遍历简单,支持XPath。它既然这么强大那么就来简单的介绍Dom这个东东。
DOM即:文档对象模型(DocumentObject Model),DOM就是一个编程接口,是针对HTML文档、XML等文档的一套API。就类似于JDBC是针对数据库的一套API一样。
DOM 是用来访问或操作HTML文档、XHTML文档、XML文档中的节点元素。现在基本上所有的浏览器都都执行了W3C发布的DOM规范,所以在浏览器上就可以用DOM的这些API。
DOM实际上是一个操作文档里面所包含的内容的一个编程的API,开发人员利用它从文档中读取、搜索、修改、增加和删除数据。
HTML文档是树状结构,根为<HTML>;DOM也是树状结构,根为window或document对象。所以DOM就可以把HTML以树状的形式呈现出来。
核心 DOM:定义了一套标准的可以针对任何文档的对象。
HTML DOM:针对HTML文档的DOM。
XML DOM:针对XML文档的DOM。
DOM0:不是W3C规范。
DOM1:开始是W3C规范。专注于HTML文档和XML文档。
DOM2:对DOM1增加了样式表对象模型
DOM3:对DOM2增加了内容模型 (DTD 、Schemas) 和文档验证。
DOM的优势:易用性强,使用DOM时,将把所有的XML文档信息都存于内存中,并且遍历简单,支持XPath,增强了易用性。
DOM的缺点:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。另外效率低还表现在大量的消耗时间,因为使用DOM进行解析时,将为文档的每个element、attribute、processing-instrUCtion和comment都创建一个对象,这样在DOM机制中所运用的大量对象的创建和销毁无疑会影响其效率。
总结:
以上只是对DOM基础知识的积累,让它在自己的头脑里有个头绪,至于它在代码中如何实现,在今后的学习中会慢慢补充。
原文:http://blog.csdn.net/liu_yujie2011com/article/details/30720949