XML DOM precedenteProprietà di pari livello
❮ Oggetto Elemento
Esempio
Il seguente frammento di codice carica " books.xml " in xmlDoc e ottiene il nodo di pari livello precedente dal primo elemento <author>:
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;
}
L'output del codice sopra sarà:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Definizione e utilizzo
La proprietà previousSibling restituisce il nodo di pari livello precedente (il nodo precedente nello stesso livello dell'albero) dell'elemento selezionato
Se non esiste un nodo di questo tipo, questa proprietà restituisce null.
Sintassi
elementNode.previousSibling
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 nodo di pari livello precedente.
Element nodes ha un nodeType di 1, quindi se il nodo di pari livello precedente non è un nodo elemento, si sposta al nodo precedente e controlla se questo nodo è un nodo elemento. Ciò continua fino a quando non viene trovato il nodo di pari livello precedente (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 Elemento