XML DOM firstChild Attribut
Definition und Verwendung
firstChild
Das Attribut gibt den ersten Kindknoten des Dokuments zurück.
Syntax
documentObject.firstChildHinweis:Firefox und die meisten anderen Browser betrachten Leerzeichen oder Zeilenumbrüche als Textknoten, während Internet Explorer dies nicht tut. Daher verwenden wir in den folgenden Beispielen eine Funktion, um den Knoten-Typ des ersten Kindknotens zu überprüfen.
Der nodeType eines Elementknotens ist 1, daher wird, wenn der erste Kindknoten kein Elementknoten ist, auf den nächsten Knoten geprüft, ob dieser ein Elementknoten ist. Dies wird fortgesetzt, bis der erste Kindknoten (muss ein Elementknoten sein) gefunden wird. Auf diese Weise ist das Ergebnis in allen Browsern korrekt.
Hinweis:Für mehr Informationen über die Unterschiede zwischen Browsern besuchen Sie bitte das Kapitel DOM-Browser im XML DOM-Tutorial.
Beispiel
Beispiel 1
Nachstehender Code lädt "books.xml" in xmlDoc und zeigt den Knotenname und den Knotentyp des ersten Kindknotens an:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Überprüfen, ob der erste Knoten ein Elementknoten ist function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; var x = get_firstchild(xmlDoc); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>" {}
Beispiel 2
Erhalten des letzten Kindknotens des Dokuments:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Überprüfen, ob der letzte Knoten ein Elementknoten ist function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; // Erhalten des letzten Kindknotens des Dokuments var x = get_lastchild(xmlDoc); // Erhalten des letzten Kindknotens der Wurzelelemente var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; {}