1. 节点
1) 概念:
- 文档是由多层节点构成的树形结构,节点分为几种不同类型
- 文档节点Document是每个文档的根节点,只有一个子元素即<html>元素(元素节点),document对象为HTMLDocument的实例
- DOM中所有节点都继承Node类型
2) DOM中的对象类型:
- Object->EventTarget->Node->Document->HTMLDocument->document
- Object->EventTarget->Node->Element->HTMLElement
3) 节点的属性:
- nodeType、nodeName、nodeValue
- parentNode、childNodes(当前节点的所有子节点,保存着NodeList对象,是类数组对象,实际上是基于DOM结构动态执行查询的结果,因此DOM结构的变化能够自动反映在NodeList对象中)
- nextSibling、previousSibling、firstChild、lastChild
4) 节点的方法:
- appendChild()、insertBefore()、replaceChild()、removeChild()都是操作childNodes属性的
- appendChild(新增的节点):向当前节点的所有子节点childNodes列表中的末尾添加一个节点
- insertBefore(添加的节点,添加的位置):向childNodes列表中的指定位置之前添加指定节点
- replaceChild(添加的节点,指定节点):替换childNodes列表中的指定节点为添加的节点
- removeChild(指定节点):删除childNodes列表中的指定节点
- cloneNode(指定节点,true/false是否深复制):复制指定节点
- importNode(指定节点,true/false是否深复制):跨文档复制指定节点
- normalize():处理文档树中的文本节点,若果找到了空文本及诶单,则删除它;如果找到相邻的文本节点,则将他们合并为一个文本节点
5) 节点类型(nodeType):
- Node.ELEMENT_NODE(1):Element(元素节点)