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
equivalentes.
Diferencias respecto a Node.appendChild()
:
-
Element.append()
permite añadir también objetos de tipo cadena, mientras queNode.appendChild()
sólo acepta objetos de tipoNode
. -
Element.append()
no tiene valor de retorno, mientras queNode.appendChild()
devuelve el objetoNode
añadido. -
Element.append()
puede añadir varios nodos y cadenas de texto, mientras queNode.appendChild()
sólo puede añadir un nodo.
Sintaxis
js
append(param1)
append(param1, param2)
append(param1, param2, /* … ,*/ paramN)
Parámetros
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