range-iterator

Subclass of DomIterator that iterates over a Range's selection

range-iterator

Subclass of DomIterator that iterates over a Range's selection

$ npm install range-iterator
var RangeIterator = require('range-iterator');
 
var range = document.createRange();
range.selectNodeContents(document.body);
 
var next;
var iterator = new RangeIterator(range)
  .revisit(false)
  .select(Node.TEXT_NODE)
  .select(function (node) {
    return node.nodeName === 'BR';
  });
// reads as: select all TextNodes and BR elements within the Range selection 
 
while (next = iterator.next()) {
  // do something with Node `next` 
}