DOM
- DOM是JS操作网页的接口,全称为
文档对象模型。它的作用是将网页转为一个JS对象,从而可以使用脚本进行各种操作。浏览器会根据DOM模型将结构化文档(HTML)解析成一系列的节点,再由这些节点组成一个DOM Tree,所有节点都有规范的对外接口。 - DOM只是一个接口规范,可以用各种语言实现,DOM并不是JS的一部分,但JS离开DOM则无法操作网页。
节点(Node)
-
DOM的最小组成单位叫做
节点,文档的树型结构就是由各种不同类型的节点组成。 -
节点的类型共有七种:
-
Document: 整个文档的顶层节点。
-
DocumentType:文档类型(比如<!DOCTYPE html>)。
-
Element:网页元素,各种HTML标签(比如<body>、<a>等)。
-
Attr:网页元素的属性(比如class="right")。
-
Text: 标签之间或标签包含的文字。
-
Comment:注释。
-
DocumentFragment:文档的片段。
浏览器提供了一个原生的节点对象
Node,上面这7种节点都继承了Node,因此具有一些共同的属性和方法。 -
节点树
-
一个文档的所有节点,按照所在的层级可以抽象成一种树状结构,这种树状结构就是DOM树。它有一个顶层节点,下一层都是顶层节点的子节点,然后子节点又有自己的子节点,就这样层层衍生。
-
文档的第一层有两个节点:
- 文档类型节点(<!doctype html>)。
- 根节点(<html>)。
-
除了根节点,其他节点都有三种层级关系:父节点关系、子节点关系、同级节点关系。