Metoda XML DOM removeChild()
Definicja i użycie
Metoda removeChild() może usunąć określony węzeł z listy podwęzłów.
Jeśli usunięcie się powiodło, ta metoda może zwrócić usunięty węzeł, w przeciwnym razie zwróci NULL.
Gramatyka:
nodeObject.removeChild(node)
Parametry | Opis |
---|---|
node | Wymagane. Określa węzeł do usunięcia. |
Uwagi i komentarze
Komentarz:Internet Explorer ignoruje puste węzły tekstowe między węzłami (np. znaki nowej linii), podczas gdy Mozilla tego nie robi. Dlatego w poniższym przykładzie użyjemy funkcji do sprawdzenia typu węzła ostatniego podwęzła.
Typ węzła węzła elementowego wynosi 1, więc jeśli pierwszy podwęzeł nie jest węzłem elementowym, przenosi się do następnego węzła i kontynuuje sprawdzanie, czy ten węzeł jest węzłem elementowym. Cały proces będzie trwał, aż zostanie znaleziony pierwszy element podwęzeł. Dzięki tej metodzie możemy uzyskać poprawny sposób w Internet Explorer i Mozilla.
Uwaga:Aby uzyskać więcej informacji na temat różnic między XML DOM w przeglądarkach IE i Mozilla, odwiedź nasz Przeglądarka DOM Rozdziały.
Przykład
W wszystkich przykładach użyjemy pliku XML books.xml, oraz funkcje JavaScript loadXMLDoc().
Poniższy fragment kodu można usunąć, aby usunąć ostatniego podnode z pierwszego elementu <book>:
//Sprawdź, czy ostatni węzeł child jest węzłem elementu
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("Usunięty Node: " + deleted_node.nodeName);
Wyjście:
Usunięty Node: cena