CharacterData: before() method
The before() method of the CharacterData interface
inserts a set of Node objects and strings
in the children list of the CharacterData's parent, just before the CharacterData node.
Strings are inserted as Text nodes; the string is being passed as argument to the Text() constructor.
Syntax
js
before(...nodes)
Parameters
nodes-
A set of
Nodeor strings to insert.
Exceptions
HierarchyRequestErrorDOMException-
Thrown when the new nodes cannot be inserted at the specified point in the hierarchy, that is if one of the following conditions is met:
- If the insertion of one of the added node would lead to a cycle, that is if one of them is an ancestor of this
CharacterDatanode. - If one of the added node is not a
DocumentFragment, aDocumentType, anElement, or aCharacterData. - If this
CharacterDatanode is actually aTextnode, and its parent is aDocument. - If the parent of this
CharacterDatanode is aDocumentand one of the nodes to insert is aDocumentFragmentwith more than oneElementchild, or that has aTextchild.
- If the insertion of one of the added node would lead to a cycle, that is if one of them is an ancestor of this
Examples
The before() method allows you to insert new nodes before a
CharacterData node leaving the current node's data unchanged.
js
const h1TextNode = document.querySelector("h1").firstChild;
h1TextNode.before("h1# ");
h1TextNode.parentElement.childNodes;
// NodeList [#text "h1# ", #text "CharacterData.before()"]
h1TextNode.data;
// "CharacterData.before()"
Specifications
| Specification |
|---|
| DOM Standard # ref-for-dom-childnode-before① |
Browser compatibility
BCD tables only load in the browser