docs: function walkNodes(dom, fn, context) {
        if (dom) {
          var res = fn(dom, context);
          var next;
          // stop the recursion
          if (res === false) { return }
  
          dom = dom.firstChild;
  
          while (dom) {
            next = dom.nextSibling;
            walkNodes(dom, fn, res);
            dom = next;
          }
        }
      }