Node: Método removeChild()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julio de 2015.
El método removeChild() de la interfaz Node elimina un nodo hijo del DOM y devuelve el nodo eliminado.
Nota: Mientras se mantenga una referencia sobre el elemento hijo eliminado, seguirá existiendo en la memoria, pero ya no forma parte del DOM. Todavía se puede reutilizar más adelante en el código.
Si el valor devuelto de removeChild() no se almacena y no se guarda ninguna otra referencia, se eliminará automáticamente de la memoria al cabo de un breve tiempo.
A diferencia de Node.cloneNode(), el valor devuelto conserva los objetos EventListener asociados con él.
Sintaxis
removeChild(child)
Parámetros
Excepción
NotFoundErrorDOMException-
Se lanza si
childno es un hijo del nodo. TypeError-
Se lanza si
childesnull.
Ejemplos
>Ejemplos simples
Dado este HTML:
<div id="parent">
<div id="child"></div>
</div>
Para eliminar un elemento específico cuando se conoce su nodo principal:
const parent = document.getElementById("parent");
const child = document.getElementById("child");
const throwawayNode = parent.removeChild(child);
Para eliminar un elemento específico sin tener que especificar su nodo principal:
const node = document.getElementById("child");
if (node.parentNode) {
node.parentNode.removeChild(node);
}
Para eliminar todos los hijos de un elemento:
const element = document.getElementById("idOfParent");
while (element.firstChild) {
element.removeChild(element.firstChild);
}
Causar un TypeError
<!--Código HTML de muestra-->
<div id="parent"></div>
const parent = document.getElementById("parent");
const child = document.getElementById("child");
// Arroja Uncaught TypeError
const garbage = parent.removeChild(child);
Causar un NotFoundError
<!--Código HTML de muestra-->
<div id="parent">
<div id="child"></div>
</div>
const parent = document.getElementById("parent");
const child = document.getElementById("child");
// Esta primera llamada elimina correctamente el nodo.
const garbage = parent.removeChild(child);
// Arroja NotFoundError
garbage = parent.removeChild(child);
Especificaciones
| Specification |
|---|
| DOM> # dom-node-removechild> |
Compatibilidad con navegadores
Loading…