DOM概念
DOM的英文为document object model,即文档对象模型,它是一种
编程接口,可以对html,xml,xhtml等文档进行操作,最常见的便是对html文档进行操作。
为什么DOM可以对html等文档进行操作
DOM子所以能够对各种文档进行操作,是因为它将所需要的操作文档进行解析,解析成
树状结构,而这个结构由节点和各种对象(文本,属性,元素,图片等)组成。
DOM中所谓的节点到底是什么
一颗树,在现实中,都会有一个一个节点,同时这些节点之间的关系有父子节点,祖孙节点,兄弟节点,那么DOM解析的这颗树同样具备这些东西。
常见的节点类型有:
- 元素节点
如<div>,<p>等标签,元素节点可以拥有属性,子节点和文本内容- 文本节点
如<p>标签中的文本内容,即是一个文本节点,即上图中的text节点- 属性节点
如<img src="image.jpg" alt="图片">里面的src以及alt即是属性节点,即对应上图中的attribute节点- 文档节点
顾名思义,文档节点便是文档对象节点,即是跟节点,即上图中的document节点
如何操作这些节点
既然我们说DOM是一种编程接口,那么既然是接口,就肯定可以对该接口进行调用,否则这个接口就没有意义了,我们都知道,说是说调用,实际上是进行操作。
既然是操作,那么编程的话需要语言去操作它,便是JavaScript这门语言,通过js,可以
动态的实现对DOM的操作,我们操作DOM,即是对页面的html进行操作,所以算是页面动态交互。
浏览器页面解析的流程
既然页面通过解析生成DOM,那么肯定有先后
首先需要了解一个概念,DOM对象是在计算机内存中的,所以操作起来速度快
- 首先进行加载html文件
- 对html进行解析成DOM,即将页面解析成节点树
- 加载html相关资源,如图片,视频以及css,js随后
- 将css样式加载到对应节点中
- 进行页面渲染,js是在这个时候进行执行的,在渲染的同时执行js,从而进行动态交互