THE WORLD'S LARGEST WEB DEVELOPER SITE
HTMLCSSJAVASCRIPTSQLPHPBOOTSTRAPJQUERYANGULARXML
 

XML DOM previousSibling Property


Node Object Reference Node Object

Example

The following code fragment loads "books.xml" into xmlDoc and gets the previous sibling node from the first <author> element:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
��� if (xhttp.readyState == 4 && xhttp.status == 200) {
������� myFunction(xhttp);
��� }
};
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;
}

The output of the code above will be:

author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Try it yourself »

Definition and Usage

The previousSibling property returns the node immediately before a node (the following node in the same tree level).

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


Syntax

nodeObject.previousSibling

Tips and Notes

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

Element nodes has a nodeType of 1, so if the previous 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 previous 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

nextSibling - Get the next sibling of a node


Node Object Reference Node Object