1.1 节点概述
网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用 node 来表示。
HTML DOM 树中的所有节点均可通过 JavaScript 进行访问,所有 HTML 元素(节点)均可被修改,也可以创建或删除。
元素节点nodeType 为1
属性节点nodeType为2
文本节点nodeType为3
1.2. 节点层级
利用 DOM 树可以把节点划分为不同的层级关系,常见的是父子兄层级关系。
1.3. 父级节点
node.parentNode
parentNode属性课返回某节点的父节点,注意是最近的一个父节点
如果指定的节点没有父节点则返回null
1.4. 子节点
parentNode.childNodes是一个只读属性,返回所有的子元素节点。它只返回子元素节点,其余节点不返回。
第1个子节点
parentNode.firstChild
最后1个子节点
parentNode.lastChild
第1个子元素节点
parentNode.firstElementChild
最后1个子元素节点
parentNode.lastElementChild
实际开发中,firstChild 和 lastChild 包含其他节点,操作不方便,而 firstElementChild 和 lastElementChild 又有兼容性问题,那么我们如何获取第一个子元素节点或最后一个子元素节点呢?
第1个子节点:parentNode.children[0]
最后1个子节点::parentNode.children[parentNode.children.length - 1]
1.6 兄弟节点
parentNode.nextSibling
得到下一个兄弟元素节点
parentNode.nextElementSibling
1.7创造节点
document.createElement(‘属性’);
1.8. 添加节点
node.appendChild(child);方法将一个节点添加到指定父节点的子节点列表末尾
node.insertBefore(child,指定元素):方法将一个节点添加到父节点的指定子节点前面。类似于CSS里面的Before伪元素