Proprietà previousSibling di XML DOM
Definizione e utilizzo
L'attributo previousSibling può restituire il nodo che precede il nodo corrente (allo stesso livello dell'albero)
Se non esiste questo nodo, l'attributo restituisce null.
Sintassi:
nodeObject.previousSibling
Suggerimenti e note
Nota:Internet Explorer ignora i nodi di testo vuoti generati tra i nodi (ad esempio, i simboli di newline), mentre Mozilla non lo fa. Pertanto, nel seguente esempio, utilizzeremo una funzione per controllare il tipo di nodo del primo figlio.
Il tipo di nodo di un nodo elemento è 1, quindi se il primo figlio non è un nodo elemento, si sposterà al nodo successivo e continuerà a controllare se questo nodo è un nodo elemento. Il processo continuerà fino a quando viene trovato il primo figlio elemento. Con questo metodo, possiamo ottenere il metodo corretto in Internet Explorer e Mozilla.
Suggerimento:Per ulteriori informazioni sulle differenze tra XML DOM di IE e Mozilla, visita il nostro DOM Browser Capitoli.
Esempio
In tutti gli esempi, utilizzeremo il file XML books.xmle la funzione JavaScript loadXMLDoc().
Il seguente frammento di codice può essere ottenuto dal nodo <author> del documento XML per ottenere il nodo同级的前一个:
//controlla se il nodo fratello precedente è un nodo elemento
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling
;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Output:
author = Giada De Laurentiis Precedente同级节点: title = Everyday Italian