XML DOM removeChild() metod
Definition och användning
removeChild() metoden kan ta bort en nod från undernodlistan.
Om borttagningen lyckas kan denna metod returnera den borttagna noden, om den misslyckas returneras NULL.
Syntaks:
nodeObject.removeChild(node)
Parameter | Beskrivning |
---|---|
node | Obligatorisk. Ange den nod som behöver tas bort. |
Varningar och kommentarer
Kommentar:Internet Explorer ignorerar tomma textnoderna mellan noder (t.ex. nyckelrad), medan Mozilla inte gör detta. Därför använder vi en funktion för att kontrollera nodtypen för den sista undernoden i följande exempel.
Elementnodens nodtyp är 1, därför om den första undernoden inte är en elementnod, flyttas den till nästa nod och kontrolleras om den är en elementnod. Denna process fortsätter tills den första elementundernoden hittas. På detta sätt kan vi få rätt metod i Internet Explorer och Mozilla.
Varning:För mer information om skillnaderna mellan XML DOM i IE och Mozilla-webbläsare, besök vår webbplats. DOM-webbläsare kapitel.
exempel
I alla exempel kommer vi att använda XML-filer books.xmloch JavaScript-funktioner loadXMLDoc().
Följande kodsnutt kan användas för att ta bort den sista barnnoden i det första <book>-elementet:
//kontrollera om den sista barnnoden är en elementnod
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 borttagen: " + deleted_node.nodeName);
Utdata:
Node borttagen: price