Returns a new NodeIterator object.
Syntax
var nodeIterator = document.createNodeIterator(root, whatToShow, filter);
Values
root- The root node at which to begin the
NodeIterator's traversal. whatToShowOptional- Bitwise OR'd list of Filter specification constants from the
NodeFilterDOM interface, indicating which nodes to iterate over. filterOptional- An object implementing the
NodeFilterinterface; itsacceptNode()method will be called for each node in the subtree based at root which is accepted as included by the whatToShow flag to determine whether or not to include it in the list of iterable nodes (a simple callback function may also be used instead). The method should return one ofNodeFilter.FILTER_ACCEPT,NodeFilter.FILTER_REJECT, orNodeFilter.FILTER_SKIP. See the Example.
Note: Prior to Gecko 12.0 (Firefox 12.0 / Thunderbird 12.0 / SeaMonkey 2.9), this method accepted an optional fourth parameter (
entityReferenceExpansion) that is not part of the DOM4 specification, and has therefore been removed. This parameter indicated whether or not the children of entity reference nodes were visible to the iterator. Since such nodes were never created in browsers, this paramater had no effect.Example
var nodeIterator = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
function(node) {
return node.nodeName.toLowerCase() === 'p' ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;
},
false
);
var pars = [];
var currentNode;
while (currentNode = nodeIterator.nextNode()) {
pars.push(currentNode);
}
Browser Compatibility
Supported in FF 3.5+, Chrome 1+, Opera 9+, Safari 3+, IE9+