files/en-us/web/api/element/prepend/index.md
{{APIRef("DOM")}}
The Element.prepend() method inserts a set of
{{domxref("Node")}} objects or strings before the first child
of the {{domxref("Element")}}. Strings are inserted as
equivalent {{domxref("Text")}} nodes.
prepend(param1)
prepend(param1, param2)
prepend(param1, param2, /* …, */ paramN)
param1, …, paramN
None ({{jsxref("undefined")}}).
HierarchyRequestError {{DOMxRef("DOMException")}}
let div = document.createElement("div");
let p = document.createElement("p");
let span = document.createElement("span");
div.append(p);
div.prepend(span);
console.log(div.childNodes); // NodeList [ <span>, <p> ]
let div = document.createElement("div");
div.append("Some text");
div.prepend("Headline: ");
console.log(div.textContent); // "Headline: Some text"
let div = document.createElement("div");
let p = document.createElement("p");
div.prepend("Some text", p);
console.log(div.childNodes); // NodeList [ #text "Some text", <p> ]
The prepend() method is not scoped into the with statement.
See {{jsxref("Symbol.unscopables")}} for more information.
let div = document.createElement("div");
with (div) {
prepend("foo");
}
// ReferenceError: prepend is not defined
{{Specifications}}
{{Compat}}