XML DOM vorigeSibling Eiendom
❮ Elementvoorwerp
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 vorige siblingnodus (die vorige nodus in dieselfde boomvlak) van die geselekteerde element terug
As daar nie so 'n nodus is nie, gee hierdie eienskap nul terug.
Sintaksis
elementNode.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. Dus, in die voorbeeld hieronder, het ons 'n funksie wat die nodustipe van die vorige broer of suster nagaan.
Element nodusse het 'n nodustipe van 1, so as die vorige broer nodus nie 'n element node is nie, skuif dit na die vorige 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
❮ Elementvoorwerp