DOM (Document Object Model)即文档对象模型,针对 HTML 和 XML 文档的 API(应用程序接口),是一个能够让程序和脚本动态访问并且更新文档内容、结构及样式语言平台 。D(document),是web加载的网页文档;O(Object),我们熟知的对象,可以调用属性和方法;而M(Model)理解为网页文档的结构。
主要内容概括如下:
DOM将web浏览器加载HTML而生成的树型结构,分成了节点:
其中这些我们在之前的学习过程中都已经接触过,而meta相对来说比较陌生,它的主要用途是设置网页语言的编码方式。一般出现在网页标题部分,但是不会在浏览器页面显示,只会显示在源代码中。
这些节点一般都分为三类:元素节点、文本节点和属性节点。例如<div title=”属性”>测试</div>,div就表示元素节点,title=”属性”为属性节点,“测试”就是文本节点。
DOM类型与节点的类型有很多相似的地方,比如在DOM的Node类型中同样存在元素、属性和文本,他们的存在是为了获取节点中的对应属性值,比如:Node.ELEMENT_NODE可以获取元素节点类型值。
在DOM扩展中,有一个滚动方法,主要用于页面信息过多时,可以设置加载想要的位置。那么这个是否可以应用于评教中呢?大家都知道在评教系统中,如果有一个选项没有选择时,会提示有选项没有选,但是不会跳转到对应的位置。那么,这个方法不就可以实现该跳转吗?具体是否能够实现,有待今后继续学习。
为了减少程序中的代码量,使用DOM可以动态的为网页添加CSS样式、脚本等,实现程序代码与CSS、js等的分离,易于扩展,为我们的程序维护带来很大的便利。
总结:
通过这段时间的学习,对js才算是真正的入门。在之前的学习过程中,只了解了基础知识,具体如何应用现在刚刚开始。DOM中的一些操作,让自己想到了牛腩中的很多方法,之前都是不太了解,仅仅知道能够实现功能,具体的原理却是不清楚。学完这部分内容之后,才摸到一些门道,知道了为什么。但是,想要深入了解,还需进一步学习。。。