DOM的概念以及页面与DOM之间的关系

92 阅读2分钟

DOM概念

DOM的英文为document object model,即文档对象模型,它是一种编程接口,可以对html,xml,xhtml等文档进行操作,最常见的便是对html文档进行操作。

为什么DOM可以对html等文档进行操作

DOM子所以能够对各种文档进行操作,是因为它将所需要的操作文档进行解析,解析成树状结构,而这个结构由节点和各种对象(文本,属性,元素,图片等)组成

image.png

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,从而进行动态交互