Element: append() 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.
TheElement.append() methodinserts a set ofNode objects or strings afterthe last child of theElement. Stringsare inserted as equivalentText nodes.
Differences fromNode.appendChild():
Element.append()allows you to also append strings, whereasNode.appendChild()only acceptsNodeobjects.Element.append()has no return value, whereasNode.appendChild()returns the appendedNodeobject.Element.append()can append several nodes and strings, whereasNode.appendChild()can only append one node.
In this article
Syntax
js
append(param1)append(param1, param2)append(param1, param2, /* …, */ paramN)Parameters
param1, …,paramNA set of
Nodeobjects or strings to insert.
Return value
None (undefined).
Exceptions
HierarchyRequestErrorDOMExceptionThrown when the node cannot be inserted at the specified point in the hierarchy.
Examples
>Appending an element
js
let div = document.createElement("div");let p = document.createElement("p");div.append(p);console.log(div.childNodes); // NodeList [ <p> ]Appending text
js
let div = document.createElement("div");div.append("Some text");console.log(div.textContent); // "Some text"Appending an element and text
js
let div = document.createElement("div");let p = document.createElement("p");div.append("Some text", p);console.log(div.childNodes); // NodeList [ #text "Some text", <p> ]The append method is unscopable
Theappend() method is not scoped into thewith statement.SeeSymbol.unscopables for more information.
js
let div = document.createElement("div");with (div) { append("foo");}// ReferenceError: append is not definedSpecifications
| Specification |
|---|
| DOM> # ref-for-dom-parentnode-append①> |