DOM
DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个 JavaScript 对象,从而可以通过脚本对网页元素进行操作
浏览器会根据 DOM 模型,将结构化文档解析成一系列的节点,再由这些节点组成一个树状结构(DOM Tree)
节点类型
DOM 的最小组成单位叫做节点(Node),文档的树形结构(DOM Tree),就是由各种不同类型的节点组成。节点都继承了 Node 对象
- Document:整个文档树的顶层节点
- DocumentType:- doctype标签(比如- <!DOCTYPE html>)
- Element:对应网页的元素
- Attr:属性节点
- Text:标签之间或标签包含的文本
- Comment:注释
- DocumentFragment:文档片段
节点树
浏览器原生提供 document 节点,代表整个文档
文档的第一层有两个节点,第一个是文档类型节点(<!doctype html>),第二个是 HTML 网页的顶层容器标签<html>。后者构成了树结构的根节点(root node),其他 HTML 标签节点都是它的下级节点
除了根节点,其他节点都有三种层级关系
- 父节点关系(parentNode)
- 子节点关系(childNodes)
- 同级节点关系(sibling)