Método removeChild() del XML DOM

Manual de referencia del objeto Node

Definición y uso

El método removeChild() puede eliminar un nodo de la lista de subnodos.

Si se elimina con éxito, este método puede devolver el nodo eliminado, de lo contrario, devuelve NULL.

Sintaxis:

nodeObject.removeChild(node)
Parámetros Descripción
node Obligatorio. Especifica el nodo que se debe eliminar.

Avisos y notas

Notas:Internet Explorer ignora los nodos de texto en blanco generados entre los nodos (por ejemplo, los símbolos de nueva línea), mientras que Mozilla no hace esto. Por lo tanto, en el siguiente ejemplo, utilizaremos una función para verificar el tipo de nodo del último subnodo.

El tipo de nodo del nodo de elemento es 1, por lo que si el primer subnodo no es un nodo de elemento, se desplazará al siguiente nodo y continuará verificando si este nodo es un nodo de elemento. Este proceso continuará hasta que se encuentre el primer subnodo de elemento. De esta manera, podemos obtener el método correcto en Internet Explorer y Mozilla.

Aviso:Para obtener más información sobre las diferencias entre XML DOM en IE y Mozilla, visite nuestro Navegador DOM capítulo.

ejemplo

En todos los ejemplos, utilizaremos el archivo XML books.xmly las funciones de JavaScript loadXMLDoc().

El siguiente fragmento de código puede eliminar el último nodo hijo del primer elemento <book>:

//comprobar si el último nodo hijo es un nodo de elemento
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("book")[0];
deleted_node=x.removeChild(get_lastchild(x));
document.write("Nodo eliminado: " + deleted_node.nodeName);

Salida:

Nodo eliminado: precio

Manual de referencia del objeto Node