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
Suggerimenti e Note

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;
{}

Prova personalmente

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;
{}

Prova personalmente