Proprietà XML DOM nextSibling
❮ Oggetto nodo
Esempio
Il seguente frammento di codice carica " books.xml " in xmlDoc e ottiene il nodo di pari livello successivo dal primo elemento <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;
}
L'output del codice sopra sarà:
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Definizione e utilizzo
La proprietà nextSibling restituisce il nodo immediatamente successivo a un nodo (il nodo successivo nello stesso livello dell'albero).
Se non esiste un nodo di questo tipo, questa proprietà restituisce null.
Sintassi
nodeObject.nextSibling
Suggerimenti e note
Nota: Firefox e la maggior parte degli altri browser tratteranno gli spazi vuoti o le nuove righe come nodi di testo, Internet Explorer no. Quindi, nell'esempio seguente, abbiamo una funzione che controlla il tipo di nodo del prossimo nodo di pari livello.
Nodi elemento ha un nodeType di 1, quindi se il nodo di pari livello successivo non è un nodo elemento, si sposta al nodo successivo e controlla se questo nodo è un nodo elemento. Ciò continua fino a quando non viene trovato il nodo di pari livello successivo (che deve essere un nodo elemento). In questo modo, il risultato sarà corretto in tutti i browser.
Suggerimento: per saperne di più sulle differenze tra i browser, visita il nostro capitolo sui browser DOM nel nostro tutorial XML DOM.
Dimostrazioni fai-da-te
❮ Oggetto nodo