Element.append()

El método Element.append() inserta un conjunto de objetos Node u objetos de tipo cadena después del último hijo de Element. Los objetos de tipo cadena se insertan como nodos Text (en-US) equivalentes.

Diferencias respecto a Node.appendChild():

  • Element.append() permite añadir también objetos de tipo cadena, mientras que Node.appendChild() sólo acepta objetos de tipo Node.
  • Element.append() no tiene valor de retorno, mientras que Node.appendChild() devuelve el objeto Node añadido.
  • Element.append() puede añadir varios nodos y cadenas de texto, mientras que Node.appendChild() sólo puede añadir un nodo.

Sintaxis

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

Parámetros

param1, …, paramN

Un conjunto de objetos de tipo Node o cadena para insertar.

Valor de retorno

Ninguno (undefined).

Excepciones

HierarchyRequestError DOMException

Se lanza cuando el nodo no puede insertarse en el punto especificado de la jerarquía.

Ejemplos

Añadir un elemento

js
let div = document.createElement("div");
let p = document.createElement("p");
div.append(p);

console.log(div.childNodes); // NodeList [ <p> ]

Añadir texto

js
let div = document.createElement("div");
div.append("Algo de texto");

console.log(div.textContent); // "Algo de texto"

Añadir un elemento y texto

js
let div = document.createElement("div");
let p = document.createElement("p");
div.append("Algo de texto", p);

console.log(div.childNodes); // NodeList [ #text "Algo de texto", <p> ]

El método append no se puede recorrer

El método append() no está incluido en la sentencia with. Véase Symbol.unscopables para más información.

js
let div = document.createElement("div");

with (div) {
  append("foo");
}
// ReferenceError: append is not defined

Especificaciones

Specification
DOM Standard
# ref-for-dom-parentnode-append①

Compatibilidad con navegadores

BCD tables only load in the browser

Vea también