Vlastnost XML DOM nextSibling
❮ Objekt uzlu
Příklad
Následující fragment kódu načte " books.xml " do xmlDoc a získá další sourozenecký uzel z prvního prvku <title>:
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 next sibling node is an element node
function
get_nextsibling(n) {
var x = n.nextSibling;
while (x.nodeType != 1) {
x =
x.nextSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("title")[0];
var y
= get_nextsibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Next sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
Výstupem výše uvedeného kódu bude:
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Definice a použití
Vlastnost nextSibling vrací uzel bezprostředně následující za uzel (následující uzel na stejné úrovni stromu).
Pokud takový uzel neexistuje, vrátí tato vlastnost hodnotu null.
Syntax
nodeObject.nextSibling
Tipy a poznámky
Poznámka: Firefox a většina ostatních prohlížečů bude zacházet s prázdnými mezerami nebo novými řádky jako s textovými uzly, Internet Explorer nikoli. Takže v příkladu níže máme funkci, která kontroluje typ uzlu dalšího sourozeneckého uzlu.
Uzly prvku mají typ nodeType 1, takže pokud další sourozenecký uzel není uzel prvku, přesune se na další uzel a zkontroluje, zda je tento uzel uzlem prvku. Toto pokračuje, dokud není nalezen další sourozenecký uzel (což musí být uzel prvku). Tímto způsobem bude výsledek správný ve všech prohlížečích.
Tip: Chcete-li si přečíst více o rozdílech mezi prohlížeči, navštivte naši kapitolu Prohlížeče DOM v našem kurzu XML DOM.
Vyzkoušejte si ukázky
❮ Objekt uzlu