结点类型
Document 文档节点 整个文档(window.document)
DocumentType 文档类型节点 文档的类型(比如<!DOCTYPE html>)
Element 元素节点 HTML元素(比如<body>、<a>等)
Attribute 属性节点 HTML元素的属性(比如class=”right”)
Text 文本节点 HTML文档中出现的文本
DocumentFragment 文档碎片节点 文档的片段
结点属性
(1)ownerDocument
返回当前节点所在的顶层文档对象,即document对象。document对象本身的ownerDocument属性,返回null。
(2)nextSibling
返回紧跟在当前节点后面的第一个同级节点。如果当前节点后面没有同级节点,则返回null。
(3)previousSibling
previousSibling属性返回当前节点前面的、距离最近的一个同级节点。如果当前节点前面没有同级节点,则返回null。
(4)parentNode
返回当前节点的父节点。对于一个节点来说,它的父节点只可能是三种类型:element节点、document节点和documentfragment节点。
(5)parentElement
返回当前节点的父Element节点。如果当前节点没有父节点,或者父节点类型不是Element节点,则返回null。
(6)textContent
返回当前节点和它的所有后代节点的文本内容。
(7)nodeValue
返回或设置当前节点的值,格式为字符串。但是,该属性只对Text节点、Comment节点、XML文档的CDATA节点有效,其他类型的节点一律返回null。
(8)childNodes
返回一个NodeList集合,成员包括当前节点的所有子节点。
(9)firstChild
返回当前节点的第一个子节点,如果当前节点没有子节点,则返回null。
(10)lastChild
返回当前节点的最后一个子节点,如果当前节点没有子节点,则返回null。
结点方法
(1)appendChild()
接受一个节点对象作为参数,将其作为最后一个子节点,插入当前节点。
(2)hasChildNodes()
结合firstChild属性和nextSibling属性,可以遍历当前节点的所有后代节点。
(1)cloneNode()
用于克隆一个节点。它接受一个布尔值作为参数,表示是否同时克隆子节点,默认是false,即不克隆子节点。
(2)insertBefore()
用于将某个节点插入当前节点的指定位置。
(3)removeChild()
接受一个子节点作为参数,用于从当前节点移除该节点。它返回被移除的节点。
(4)replaceChild()
用于将一个新的节点,替换当前节点的某一个子节点
(5)contains()
接受一个节点作为参数,返回一个布尔值,表示参数节点是否为当前节点的后代节点。
(6)compareDocumentPosition()
用法与contains方法完全一致,返回一个7个比特位的二进制值,表示参数节点与当前节点的关系。
(7)isEqualNode()
返回一个布尔值,用于检查两个节点是否相等。所谓相等的节点,指的是两个节点的类型相同、属性相同、子节点相同。
(8)normalize()
用于清理当前节点内部的所有Text节点。它会去除空的文本节点,并且将毗邻的文本节点合并成一个。