NodeIterator

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

The NodeIterator interface represents an iterator to traverse nodes of a DOM subtree in document order.

A NodeIterator can be created using the Document.createNodeIterator() method, as follows:

js
const nodeIterator = document.createNodeIterator(root, whatToShow, filter);

Instance properties

This interface doesn't inherit any property.

NodeIterator.root Read only

Returns a Node representing the root node, as specified when the NodeIterator was created.

NodeIterator.whatToShow Read only

Returns an unsigned long bitmask that describes the types of Node to be matched. Non-matching nodes are skipped, but relevant child nodes may be included.

NodeIterator.filter Read only

Returns a NodeFilter used to select the relevant nodes.

NodeIterator.referenceNode Read only

Returns the Node to which the iterator is anchored.

NodeIterator.pointerBeforeReferenceNode Read only

Returns a boolean indicating whether or not the NodeIterator is anchored before the NodeIterator.referenceNode. If false, it indicates that the iterator is anchored after the reference node.

Instance methods

This interface doesn't inherit any method.

NodeIterator.detach() Deprecated

This is a legacy method, and no longer has any effect. Previously it served to mark a NodeIterator as disposed, so it could be reclaimed by garbage collection.

NodeIterator.previousNode()

Returns the previous Node in the document, or null if there are none.

NodeIterator.nextNode()

Returns the next Node in the document, or null if there are none.

Specifications

Specification
DOM
# interface-nodeiterator

Browser compatibility

See also