DOM是JS操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个JS对象,从而可以用脚本进行各种操作(比如增删内容)。
DOM提供了一种表述形式将文档作为一个结构化的节点组以及包含属性和方法的对象。从本质上说,它将web页面和脚本或编程语言连接起来了。
DOM可以理解成网页的编程接口。
1.节点
DOM最小的单位叫做节点。文档的树形结构(DOM树),就是各种不同类型的节点组成的。
节点类型有七种:Document、DocumentType、Element、Text、Comment、DocumentFragment。
常用节点
文档节点(Document)
整个HTML文档document对象作为window对象的属性存在,不用获取直接使用
元素节点(Element)
HTML文档中的标签
属性节点(Attribute)
标签里面的属性,非元素节点的子节点,而是元素节点的一部分。
文本节点(Text)
HTML文档中的文本内容
其他节点
DocumentType
doctype标签(如<!DOCTYPE html>)。
Comment
注释
DocumentFragment
文档的片段
节点数
一个文档的所有节点,按照所在的层级,可以抽象成一种树状结构。这种树状结构就是DOM。
除了根节点外,其他节点对于周围的节点都存在三种关系:
1.父节点关系(parentNode):当前元素的那个上级节点
2.子节点关系(childNode):当前元素的下级节点
3.同级节点(sibling):用有同一个父节点的节点
DOM提供操作接口,其中,子节点接口包括firstChild(第一个节点)和lastChild(最后一个节点)等属性,同级节点接口包括nextSibling(紧挨着在后面的那个同级节点)和previousSilbling(紧邻在前面的那个同级节点)属性。
2.Node类型
nodeType
nodeType属性返回一个整数值,表示节点的类型,如下图
节点类型 | 值 | 对应常量 |
---|---|---|
文档节点(document) | 9 | Node.DOCUMEN |