From 1109132f09d75da9a28b649c7677bb6ce07c40c0 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:41:45 -0500 Subject: initial commit --- files/es/web/api/node/removechild/index.html | 94 ++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 files/es/web/api/node/removechild/index.html (limited to 'files/es/web/api/node/removechild/index.html') diff --git a/files/es/web/api/node/removechild/index.html b/files/es/web/api/node/removechild/index.html new file mode 100644 index 0000000000..423d482bb6 --- /dev/null +++ b/files/es/web/api/node/removechild/index.html @@ -0,0 +1,94 @@ +--- +title: Node.removeChild() +slug: Web/API/Node/removeChild +translation_of: Web/API/Node/removeChild +--- +
+
{{APIRef ( "DOM")}}
+ +

El método Node.removeChild() elimina un nodo hijo del DOM y puede devolver el nodo eliminado.

+ +

Sintaxis

+ +
+
var antiguoHijo = elemento.removeChild(child);
+O
+elemento.removeChild(child);
+
+
+ + + +

El hijo(child) eliminado aún existe en memoria pero ya no es parte del DOM. Con la primera forma de sintaxis mostrada, se puede reutilizar el nodo eliminado más tarde en el código, por medio de la referencia al objeto antiguoHijo. Sin embargo, en la segunda forma, la referencia a antiguoHijo se pierde, y suponiendo que el código no mantenga una referencia a ese objeto en alguna otra parte, inmediatamente será inutilizable e irrecuperable y será eliminada automáticamente de memoria después de poco tiempo.

+ +

Si hijo(child) no es en realidad hijo del nodo elemento, el método lanza una excepción. Esto también sucederá si child es en realidad hijo de elemento al momento de llamar al método, pero fue eliminado por un controlador(manejador) de eventos(event handler) invocado en el curso de tratar de eliminar el elemento. (e.g. blur).

+ +

Por lo tanto el método removeChild(child) lanza una excepción de 2 casos diferentes: 

+ +

1.      Si child es un hijo del elemento y por lo tanto existe en el DOM, pero se retiró el método lanza la siguiente excepción:

+ +

​​Uncaught NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.

+ +

2.      Si child no existe en el DOM de la página, el método emite la siguiente excepción:
+
+ Uncaught TypeError: Failed to execute 'removeChild' on 'Node': parameter 1 is not of type 'Node'.

+ +

Ejemplos

+ +
<!--Ejemplo 1 HTML-->
+<div id="top" align="center"> </div>
+ +
<!--Javascript-->
+// El método lanza la excepción correspondiente al (caso 2)
+var top = document.getElementById("top");
+var nested = document.getElementById("nested");
+var garbage = top.removeChild(nested);
+ +
<!--Ejemplo 2 HTML-->
+<div id="top">
+   <div id="anidados"></div> 
+</div>
+ +
<!--Javascript-->
+// Eliminando un elemento específico cuando se conoce su nodo padre
+var d = document.getElementById("top");
+var d_nested = document.getElementById("anidados");
+var throwawayNode = d.removeChild(d_nested);
+ +
<!--Javascript-->
+// Eliminando un elemento específico utilizando la propiedad parentNode, que siempre hace referencia al nodo padre de un nodo (nodoHijo.parentNode.).
+nodo var = document.getElementById("anidados");
+if (node.parentNode) {
+  node.parentNode.removeChild(nodo);
+}
+ +
<!--Javascript-->
+// Eliminando todos los hijos de un elemento
+elemento var = document.getElementById("top");
+while (element.firstChild) {
+  element.removeChild(element.firstChild);
+}
+ +

Notas:

+ +

removeChild() se debe invocar sobre el nodo padre del nodo que se va a eliminar.

+ +

Especificación

+ + + +

Vea también

+ + -- cgit v1.2.3-54-g00ecf