XML DOM previousSibling-Eigenschaft
Definition und Verwendung
Die previousSibling-Eigenschaft kann den vorangegangenen Knoten, der direkt vor einem bestimmten Knoten liegt (im selben Baumebene), zurückgeben
Falls dieses Element nicht vorhanden ist, gibt die Eigenschaft null zurück.
Syntax:
nodeObject.previousSibling
Hinweise und Anmerkungen
Anmerkung:Internet Explorer ignoriert die durch den Text erzeugten Leerzeichensymbole zwischen Knoten (z.B. Zeilenumbruch), während Mozilla dies nicht tut. Daher verwenden wir in den folgenden Beispielen eine Funktion, um den Knotentyp des ersten Kindknotens zu überprüfen.
Der Knotentyp des Elementknotens ist 1, daher wird, wenn der erste Kindknoten kein Elementknoten ist, er zum nächsten Knoten verschoben und fortgesetzt, ob dieser Knoten ein Elementknoten ist. Der gesamte Prozess wird fortgesetzt, bis der erste Elementkindknoten gefunden wird. Auf diese Weise können wir in Internet Explorer und Mozilla die richtigen Methoden erhalten.
Hinweis:Für mehr Informationen über die Unterschiede zwischen IE und Mozilla im XML DOM besuchen Sie unsere DOM-Browser Kapitel.
Beispiel
In allen Beispielen verwenden wir das XML-Dokument books.xmlsowie die JavaScript-Funktion loadXMLDoc().
Der folgende Code-Abschnitt kann aus dem XML-Dokument <author>-Element den vorherigen Brüderknoten ermitteln:
//prüfen, ob der vorherige Schwesterknoten ein Elementknoten ist
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling
;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Ausgabe:
author = Giada De Laurentiis Previous sibling: title = Everyday Italian