XML DOM vorigeSibling Eiendom
❮ Node Voorwerp
Voorbeeld
Die volgende kode fragment laai " books.xml " in xmlDoc en kry die vorige broer nodus vanaf die eerste <outeur> element:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the previous sibling node is an element node
function
get_previoussibling(n) {
var x = n.previousSibling;
while (x.nodeType != 1) {
x =
x.previousSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("author")[0];
var y
= get_previoussibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
Die afvoer van die kode hierbo sal wees:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Definisie en gebruik
Die previousSibling-eienskap gee die nodus onmiddellik voor 'n nodus terug (die volgende nodus in dieselfde boomvlak).
As daar nie so 'n nodus is nie, gee hierdie eienskap nul terug.
Sintaksis
nodeObject.previousSibling
Wenke en notas
Let wel: Firefox, en die meeste ander blaaiers, sal leë spasies of nuwe reëls as teksnodes hanteer, Internet Explorer sal nie. o, in die voorbeeld hieronder het ons 'n funksie wat die nodustipe van die vorige broer of sustersnodus kontroleer.
Element nodusse het 'n nodeTipe van 1, so as die vorige broer nodus nie 'n element node is nie, skuif dit na die volgende node, en kyk of hierdie node 'n element node is. Dit gaan voort totdat die vorige broer of suster (wat 'n elementnodus moet wees) gevind word. Op hierdie manier sal die resultaat korrek wees in alle blaaiers.
Wenk: Om meer te lees oor die verskille tussen blaaiers, besoek ons DOM-blaaiers- hoofstuk in ons XML DOM-tutoriaal.
Probeer-dit-self-demo's
❮ Node Voorwerp