XML DOM previousSibling-egenskapen
Definition och användning
previousSibling-egenskapen kan returnera den närmaste föregående noden (på samma trädnivå)
Om det inte finns något sådant nod, returnerar denna egenskap null.
Syntaks:
nodeObject.previousSibling
Tips och anmärkningar
Anmärkning:Internet Explorer ignorerar genererade blanka textnoder mellan noder (t.ex. nyckelrad), medan Mozilla inte gör detta. Därför kommer vi i följande exempel att använda en funktion för att kontrollera nodtypen för den första barnnoden.
Elementnodernas nodtyp är 1, så om den första barnnoden inte är en elementnod, flyttas den till nästa nod och fortsätter att kontrollera om denna nod är en elementnod. Processen fortsätter tills den första elementbarnnoden hittas. På detta sätt kan vi få korrekt metod i Internet Explorer och Mozilla.
Tips:För mer information om skillnader mellan IE och Mozilla webbläsarens XML DOM, besök vår DOM-webbläsare kapitel.
exempel
I alla exempel kommer vi att använda XML-filer books.xmloch JavaScript-funktionen loadXMLDoc().
Följande kodfragment kan hämtas från XML-dokumentet <author>-elementet för att få föregående jämlik nod:
//kontrollera om föregående syskonnod är en elementnod
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 />Föregående syskon: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Uttal:
author = Giada De Laurentiis Föregående syskon: title = Everyday Italian