CharacterData: before() 方法
CharacterData 接口的 before() 方法会在 CharacterData 节点的父级的子节点列表中,在 CharacterData 节点之前插入一系列 Node 对象和字符串。
语法
js
before(...nodes)
参数
返回值
无(undefined)。
异常
HierarchyRequestErrorDOMException-
在无法在指定位置插入新节点时抛出,即满足以下任一条件时:
- 如果插入的某个新节点会导致循环(即该节点是此
CharacterData节点的祖先)。 - 如果某个待插入的节点不是
DocumentFragment、DocumentType、Element或CharacterData。 - 如果此
CharacterData节点实际上是Text节点,且其父节点是Document。 - 如果此
CharacterData节点的父节点是Document,而待插入的节点之一是DocumentFragment,并且该DocumentFragment包含多个Element子节点,或者包含Text子节点。
- 如果插入的某个新节点会导致循环(即该节点是此
示例
before() 方法允许你在不改变当前节点数据的情况下,在 CharacterData 节点前插入新的节点。
js
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");
h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]
h1TextNode.data;
// "CharacterData.before()"
规范
| 规范 |
|---|
| DOM # ref-for-dom-childnode-before① |
浏览器兼容性
加载中…