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.
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.
The following code fragment loads "books.xml" into xmlDoc using loadXMLDoc() and gets the previous sibling node from the first <author> element:
The output of the code above will be:
nextSibling - Get the next sibling of a node