Proprietà nextSibling del XML DOM
Definizione e uso
nextSibling
La proprietà restituisce il nodo successivo di un nodo (il nodo successivo al livello della stessa albero).
Se non esiste tale nodo, questa proprietà restituisce null.
Sintassi
nodeObject.nextSibling
Attenzione:Firefox e la maggior parte degli altri browser considerano gli spazi o le righe di invio come nodi di testo, mentre Internet Explorer non lo fa. Pertanto, nell'esempio seguente, utilizziamo una funzione per verificare il tipo di nodo del nodo gemello successivo.
Il tipo di nodo del nodo elemento è 1, quindi se il nodo gemello successivo non è un nodo elemento, si sposta al nodo successivo e verifica se il nodo è un nodo elemento. Questo continua fino a trovare il prossimo nodo同级 (deve essere un nodo elemento). In questo modo, i risultati sono corretti in tutti i browser.
Suggerimento:For more information on differences between browsers, please visit the DOM Browser section in the XML DOM tutorial.
Esempio
Esempio 1
The following code loads "books.xml" into xmlDoc and gets the next sibling node from the first <title> 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 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>Successore: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}
Esempio 2
Get the previous sibling node of the 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 + "Precedente fratello: " + y.nodeName + " = " + y.childNodes[0].nodeValue; {}