XML DOM previousSibling-egenskab
Definition og brug
previousSibling-egenskaben kan returnere den nærmeste node før en given node (på samme træniveau)
Hvis der ikke findes dette element, returnerer egenskaben null.
Syntaks:
nodeObject.previousSibling
Tips og bemærkninger
Bemærk:Internet Explorer ignorerer mellemrumstekstnoden mellem noder (f.eks. linjeskifts符号), mens Mozilla gør det ikke. Derfor vil vi i de næste eksempler bruge en funktion til at kontrollere nodetypen for den første undernode.
Elementknudens nodetype er 1, så hvis den første undernode ikke er en elementnode, vil den flytte til den næste node og fortsætte med at kontrollere om denne node er en elementnode. Denne proces vil fortsætte, indtil den første elementundernode findes. På denne måde kan vi få korrekte metoder i Internet Explorer og Mozilla.
Tip:For mere information om forskelle mellem IE og Mozillas XML DOM, besøg vores DOM-browsere kapitel.
eksempel
I alle eksempler vil vi bruge XML-filen books.xmlog JavaScript-funktionen loadXMLDoc()。
Følgende kodefragment kan hentes fra XML-dokumentet <author>-elementet for at få den foregående同级node:
//kontroller om den foregående søsterknuden er en elementknude
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);
Output:
author = Giada De Laurentiis Forrige sibling: title = Everyday Italian