CharacterData: before() 方法
before()
是 CharacterData
接口的一个方法,它在 CharacterData
节点的父节点的子节点列表中插入一组 Node
对象和字符串,正好位于 CharacterData
节点之前。
语法
js
before(...nodes)
参数
异常
HierarchyRequestError
DOMException
-
当无法在层次结构中的指定点插入新节点时抛出,即满足以下条件之一时
- 如果插入其中一个添加的节点会导致循环,即如果其中一个节点是此
CharacterData
节点的祖先。 - 如果其中一个添加的节点不是
DocumentFragment
、DocumentType
、Element
或CharacterData
。 - 如果此
CharacterData
节点实际上是一个Text
节点,并且其父节点是Document
。 - 如果此
CharacterData
节点的父节点是Document
,并且要插入的节点之一是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① |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。