很幸运,现在,W3C 已经帮我们搞出了一些新的属性来专门操作元素节点。
- Element.children: 返回一个该元素下所有子元素节点的集合
- Element.firstElementChild: 返回第一个子元素节点
- Element.lastElementChild: 返回最后一个子元素节点
- Element.previousElementSibling: 返回前一个同辈元素节点
- Element.nextElementSibling: 返回后一个同辈元素节点
- 插入标记
- innerHTML: 返回或更改调用它的节点的所有子节点(包括注释节点、文本节点等)
- outerHTML: 返回或更改调用它的元素以及这个元素所有的子节点
- 上面两种属性返回的都是字符串
- element.insertAdjacentHTML(position, text) :将指定的文本解析为 HTML 或 XML,然后将结果节点插入到指定的位置上
- position 是相对于 element 元素的位置,并且它有四个值
- beforebegin: 在 element 元素之前插入一个紧邻的同辈元素
- afterbegin: 在 element 元素的第一个子节点之前插入
- beforeend: 在 element 元素的最后一个节点之后插入
- afterend: 在 element 元素之后插入一个紧邻的同辈元素
Text 类型 (文本节点)
Text 类型的节点(文本节点)的 nodeType 的值为 3。
document.createTextNode(“文本内容”):创建新文本节点
规范化文本节点
DOM 文档中存在相邻的文本节点很容易导致混乱,因为分不清哪个文本节点表示哪个字符串。所以在 Node 接口中定义了一个