XML DOM nextSibling Property


❮ Element Object

Example

The following code fragment 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>Next sibling: " + y.nodeName + " = " +
    y.childNodes[0].nodeValue;
}

The output of the code above will be:

title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Try it Yourself »

Definition and Usage

The nextSibling property returns the next sibling node (the following node in the same tree level) of the selected element

If there is no such node, this property returns null.

Syntax

elementNode.nextSibling

Tips and Notes

Note: Firefox, and most other browsers, will treat empty white-spaces or new lines as text nodes, Internet Explorer will not. So, in the example below, we have a function that checks the node type of the next sibling node.

Element nodes has a nodeType of 1, so if the next sibling node is not an element node, it moves to the next node, and checks if this node is an element node. This continues until the next sibling node (which must be an element node) is found. This way, the result will be correct in all browsers.

Tip: To read more about the differences between browsers, visit our DOM Browsers chapter in our XML DOM Tutorial.


Try-It-Yourself Demos

previousSibling - Get the previous sibling of a node


❮ Element Object
Copyright 1999-2023 by Refsnes Data. All Rights Reserved.