DOM解析方式的一些概念
DOM:Document Object Model(文档对象模型)
用来将标记型文档封装成对象,并将标记型文档中的所以内容(标签,文本,属性等)都封装成对象
目的:为了更为方便地操作这些文档以及文档中的所有内容,因为对象的出现,就可以有属性和行为被调用。
文档对象模型
文档:标记型文档
对象:封装了属性和行为的实体,可以直接调用
模型:所有标记型给文档都具备一些共性特征的一个体现。
标记型文档(标签,属性,标签中封装的数据)
只要是标记型文档,DOM这种技术都可以对其进行操作。
常见的标记型文档:html xml
DOM如何对标记型文档进行操作?
要操作标记型文档,必须对其进行解析
DOM技术的解析方式:将标记型文档解析成一棵DOM树,并将书中的内容都封装成节点对象。
注意:这种DOM解析方式的好处在于可以对树中的节点进行任意操作,比如:增删改查
弊端:这种解析需要将整个标记型文档加载进内存。意味着如果标记型文档过大,会浪费内存空间
简介另一种解析方式:SAX:是由一些组织定义的一种民间常用的一种解析方式,并不是W3C的标准。
而DOM是W3C的标准。
SAX解析的方式:基于事件驱动的解析。查询数据的速度很快,但是不能对标记进行增删改的动作。
DOM模型有三种
DOM level 1:将html文档封装成对象。
DOM level 2:在level基础上加入了新功能,比如解析名称空间。
DOM level 3:将xml文档封装成了对象。
DHTML
DHTML:动态的HTML。它不是一门语言,是多项技术综合体的简称。其中包含了HTML,CSS,DOM,Javascript。
这四种技术在动态HTML页面效果定义时,都是什么样的角色呢?
- HTML:负责提供标签,对数据进行封装。目的是便于对标签中的数据进行操作。简单讲:用标签封装数据。
- CSS:负责提供样式属性,对标签中的数据进行样式的定义。简单讲:对数据进行样式定义。
- DOM:负责对标签型文档以及文档中的所有内容进行解析,并封装成对象,在对象中定义了更多的属性和行为,便于对对象操作。简单讲:将文档和标签以及其他内容变成对象。
- JS:负责提供程序设计语言,对页面中的对象进行逻辑操作。简单讲:负责页面的行为定义,即动态效果。
因此,JS是动态效果的主力编程语言。
DHTML + XMLhttpRequest = AJAX
BOM:Browser Object Model(浏览器对象模型)
此模型方便于操作浏览器。
浏览器对应的对象就是window对象。这个可以通过查阅文档了解。