CharacterData: before() method

Baseline
Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

The before() method of the CharacterData interface inserts a set of Node objects or strings in the children list of this CharacterData's parent, just before this CharacterData. Strings are inserted as equivalent Text nodes. Nothing happens if parentNode is null.

Syntax

js
before(param1)
before(param1, param2)
before(param1, param2, /* …, */ paramN)

Parameters

param1, …, paramN

A set of Node objects or strings to insert.

Return value

None (undefined).

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:

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
# ref-for-dom-childnode-before①

Browser compatibility

See also