XML DOM removeChild() methode
Definitie en gebruik
De removeChild() methode kan een knooppunt uit de lijst van subknooppunten verwijderen.
Indien het verwijderen succesvol is, kan deze methode het verwijderde knooppunt retourneren, anders NULL.
Syntaxis:
nodeObject.removeChild(node)
Parameters | Beschrijving |
---|---|
node | Verplicht. Specificeer het knooppunt dat moet worden verwijderd. |
Waarschuwing en opmerking
Opmerking:Internet Explorer negeert de lege tekstknooppunten die tussen knooppunten worden gegenereerd (bijv. een nieuwe regelteken), terwijl Mozilla dit niet doet. Daarom gebruiken we in het volgende voorbeeld een functie om het knooppunttype van de laatste subknooppunt te controleren.
De knooppunttype van een elementknooppunt is 1, dus als de eerste subknooppunt geen elementknooppunt is, wordt het verplaatst naar het volgende knooppunt en wordt vervolgens gecontroleerd of dit knooppunt een elementknooppunt is. Het hele proces wordt voortgezet totdat de eerste elementzoonknooppunt is gevonden. Op deze manier kunnen we de juiste methode verkrijgen in Internet Explorer en Mozilla.
Waarschuwing:For more information on the differences between XML DOM in IE and Mozilla browsers, please visit our DOM browsers chapters.
instances
In all examples, we will use the XML file books.xml, and JavaScript functions loadXMLDoc().
The following code snippet can be used to remove the last child node from the first <book> element:
//check if last child node is an element node
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 removed: " + deleted_node.nodeName);
Output:
Node removed: price