XML DOM previousSibling-egenskap

Definition och användning

previousSibling-egenskapen returnerar den valda nodens föregående jämlik nod (den föregående noden på samma trädnivå).

Om det inte finns en sådan nod, returnerar denna egenskap null.

Syntax:

elementNode.previousSibling

Tips och kommentarer

Kommentar:Internet Explorer ignorerar genererade tomma textnoder mellan noder (t.ex. nyckelrad), medan Mozilla inte gör det. Därför används en funktion för att kontrollera nodtypen för föregående jämlik nod i följande exempel.

Elementnodernas nodtyp är 1, så om föregående jämlik nod inte är en elementnod, flyttas till föregående nod och kontrolleras om den är en elementnod. Denna process fortsätter tills föregående jämlik nod hittas. Detta metod säkerställer att korrekta resultat får både i Internet Explorer och Mozilla.

För mer information om skillnader mellan IE och Mozilla-webbläsare, besök CodeW3C.coms XML DOM-lärarlektioner DOM-webbläsare denna sektion.

exempel

I alla exempel kommer vi att använda XML-filer books.xmloch JavaScript-funktioner loadXMLDoc()

Följande kodsnutt hämtar XML-dokumentets första <author> elementets 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 />Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Uppgiften av ovanstående kod är:

author = Giada De Laurentiis
Föregående syskon: title = Everyday Italian