DOM《DOM与节点》

196 阅读1分钟

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树。它有一个顶层节点,下一层都是顶层节点的子节点,然后子节点又有自己的子节点,就这样层层衍生。

  • 文档的第一层有两个节点:

    1. 文档类型节点(<!doctype html>)。
    2. 根节点(<html>)。
  • 除了根节点,其他节点都有三种层级关系:父节点关系、子节点关系、同级节点关系。