Metodo removeChild() di XML DOM
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