首先在讲解DHTML之前,我需要先把DOM讲解一下,不然可能大家还是不能深入的了解DHTML的相关知识点。
DOM介绍
那么什么是DOM呢?
DOM:Document Object Model(文档对象模型),用来将标记型文档封装成对象,并将标记型文档中的所有的内容(标签,文本,属性等)都封装成对象;封装成对象的目的是为了更为方便的操作这些文档以及文档中的所有内容;因为对象的出现就可以有属性和行为被调用。
文档对象模型
文档:标记型文档。
对象:封装了属性和行为的实例,可以被直接调用。
模型:所有标记型文档都具备一些共性特征的一个体现(标记型文档 [ 标签,属性,标签中封装的数据 ] )。
只要是标记型文档,DOM这种技术都可以对其进行操作。(常见的标记型文档:html xml)
DOM这种技术是如何对标记型文档机型操作的呢?
首先,要操作标记型文档必须对其进行解析,DOM技术的解析方式就是将标记型文档解析一棵DOM树,并将树中的内容都封装成节点对象。(如下图)
需要注意:这个DOM解析方式的好处:可以对树中的节点进行任意操作,比如:增删改查。
而弊端就是:这种解析需要将整个标记型文档加载进内存。意味着如果标记型文档的体积很大,较为浪费内存空间。
当然,这个简单的点一下关于另外一种解析方式:SAX
SAX解析的方式:基于事件驱动的解析。获取数据的速度很快,但是不能对标记进行增删改,是由一些组织定义的一种民间常用的解析方式,并不是w3c标准,而DOM是W3C的标准。
DOM模型介绍
DOM模型有三种:
- DOM level 1:将html文档封装成对象。
- DOM level 2:在leve 1基础上加入了新功能,比如解析名称空间。
- DOM level 3:将xml文档封装成了对象。
DHTML介绍
DHTML其实就是动态的HTML,不是一门语言,而是多项技术综合体的简称;其中包含了HTML、CSS、DOM、Javascript。
这四个技术在动态html页面效果定义时,都处于什么样角色呢?负责什么样的职责呢?
HTML:负责提供标签,对数据进行封装,目的是便于对该标签中的数据进行操作,简单说,就是用标签封装数据。
CSS:负责提供样式属性,对标签中的数据进行样式的定义,也就是对数据进行样式定义。
DOM:负责将标签型文档以及文档中的所有内容进行解析,并封装成对象,在对象中定义了更多的属性和行为,便于对对象操作,也就是将文档和标签以及其他内容变成对象。
JS:负责提供程序设计语言,对页面中的对象进行逻辑操作,即负责页面的行为定义,就是页面的动态效果。(所以javascript是动态效果的主力编程语言。)
而 DHTML + XMLhttpRequest = AJAX
其实之前在学习这些知识的时候以为自己已经能够明白了,但是当自己真的学习了以后才发现自己是伪明白,所以各位小伙伴们,可不要认为自己真的懂了哦,也许你们就处于伪明白的状态呢。
评论前必须登录!
注册