This article is in need of a technical review.

The NodeIterator.previousNode() method returns the previous node in the set represented by the NodeIterator and moves the position of the iterator backwards within the set.

This method returns null when the current node is the first node in the set.

In old browsers, as specified in old versions of the specifications, the method may throws the INVALID_STATE_ERR DOMException if this method is called after the NodeIterator.detach()method. Recent browsers never throw.


node = nodeIterator.previousNode();


var nodeIterator = document.createNodeIterator(
    { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } },
    false // this optional argument is not used any more
currentNode = nodeIterator.nextNode(); // returns the next node
previousNode = nodeIterator.previousNode(); // same result, since we backtracked to the previous node


Specification Status Comment
The definition of 'NodeIterator.previousNode' in that specification.
Living Standard As detach() is now a no-op method, this method cannot throw anymore.
Document Object Model (DOM) Level 2 Traversal and Range Specification
The definition of 'NodeIterator.previousNode' in that specification.
Recommendation Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 1.0 3.5 (1.9.1) 9.0 9.0 3.0
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) 1.0 (1.9.1) (Yes) 9.0 3.0

See also

Document Tags and Contributors

 Last updated by: fscholz,