XML DOM previousSibling Property


Node Object Reference Node Object

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.


Example

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

Example

//check if the previous sibling node is an element node
function get_previoussibling(n)
{
x=n.previousSibling;
while (x.nodeType!=1)
  {
  x=x.previousSibling;
  }
return x;
}

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);

y=get_previoussibling(x);

document.write("
Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

The output of the code above will be:

author = Giada De Laurentiis
Previous sibling: title = Everyday Italian

Try it yourself »

Try-It-Yourself Demos

nextSibling - Get the next sibling of a node


Node Object Reference Node Object

Color Picker

colorpicker