Element: 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 Element interface inserts a set of Node objects or strings in the children list of this Element's parent, just before this Element. 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 node cannot be inserted at the specified point in the hierarchy.

Examples

Inserting an element

js
const container = document.createElement("div");
const p = document.createElement("p");
container.appendChild(p);
const span = document.createElement("span");

p.before(span);

console.log(container.outerHTML);
// "<div><span></span><p></p></div>"

Inserting text

js
const container = document.createElement("div");
const p = document.createElement("p");
container.appendChild(p);

p.before("Text");

console.log(container.outerHTML);
// "<div>Text<p></p></div>"

Inserting an element and text

js
const container = document.createElement("div");
const p = document.createElement("p");
container.appendChild(p);
const span = document.createElement("span");

p.before(span, "Text");

console.log(container.outerHTML);
// "<div><span></span>Text<p></p></div>"

Specifications

Specification
DOM
# ref-for-dom-childnode-before①

Browser compatibility

See also