Metodo removeChild() di XML DOM

Manuale di riferimento dell'oggetto Node

Definizione e uso

Il metodo removeChild() può eliminare un nodo dalla lista dei figli.

Se l'eliminazione è riuscita, questo metodo può restituire il nodo eliminato, altrimenti restituisce NULL.

Sintassi:

nodeObject.removeChild(node)
Parametro Descrizione
node Obbligatorio. Specifica il nodo da eliminare.

Avviso e commento

Commento:Internet Explorer ignora i nodi di testo vuoti generati tra i nodi (ad esempio, i simboli di newline), mentre Mozilla non fa così. Pertanto, nell'esempio seguente, utilizzeremo una funzione per controllare il tipo di nodo dell'ultimo figlio.

Il tipo di nodo del nodo di elemento è 1, quindi se il primo figlio non è un nodo di elemento, viene spostato al nodo successivo e continua a controllare se questo nodo è un nodo di elemento. Il processo continua fino a quando viene trovato il primo figlio di elemento. Con questo metodo, possiamo ottenere il metodo corretto su Internet Explorer e Mozilla.

Avviso:Per ulteriori informazioni sulle differenze tra XML DOM su IE e Mozilla, visita il nostro sito Browser DOM Capitoli.

Esempio

In tutti gli esempi, utilizzeremo il file XML books.xml, e le funzioni JavaScript loadXMLDoc().

Il seguente frammento di codice può eliminare l'ultimo figlio dell'elemento <book> del primo elemento <book>:

//Controlla se l'ultimo nodo figlio è un nodo 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("Node rimosso: " + deleted_node.nodeName);

Output:

Node rimosso: price

Manuale di riferimento dell'oggetto Node