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
Exceptions
HierarchyRequestError
DOMException
-
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
CharacterData
node. - If one of the added node is not a
DocumentFragment
, aDocumentType
, anElement
, or aCharacterData
. - If this
CharacterData
node is actually aText
node, and its parent is aDocument
. - If the parent of this
CharacterData
node is aDocument
and one of the nodes to insert is aDocumentFragment
with more than oneElement
child, or that has aText
child.
- 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