Node.normalize()
Node.normalize()
方法将当前节点和它的后代节点”规范化“(normalized)。在一个"规范化"后的 DOM 树中,不存在一个空的文本节点,或者两个相邻的文本节点。
注 1:“空的文本节点”并不包括空白字符 (空格,换行等) 构成的文本节点。
注 2:两个以上相邻文本节点的产生原因包括:
- 通过脚本调用有关的 DOM 接口进行了文本节点的插入和分割等。
- HTML 中超长的文本节点会被浏览器自动分割为多个相邻文本节点。
语法
element.normalize();
例子
js
var wrapper = document.createElement("div");
wrapper.appendChild(document.createTextNode("Part 1 "));
wrapper.appendChild(document.createTextNode("Part 2 "));
// 这时 (规范化之前),wrapper.childNodes.length === 2
// wrapper.childNodes[0].textContent === "Part 1 "
// wrapper.childNodes[1].textContent === "Part 2 "
wrapper.normalize();
// 现在 (规范化之后), wrapper.childNodes.length === 1
// wrapper.childNodes[0].textContent === "Part 1 Part 2"
规范
Specification |
---|
DOM Standard # ref-for-dom-node-normalize① |
Browser compatibility
BCD tables only load in the browser