Test name | Executions per second |
---|---|
TreeWalker | 559347.1 Ops/sec |
querySelectorAll | 809522.0 Ops/sec |
NodeIterator | 410099.9 Ops/sec |
<!-- article out start -->
<article>
<!-- article in start -->
<h1>Lorem ipsum</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p>
<!-- article in end -->
</article>
<!-- article out end -->
<!-- article out start -->
<article>
<!-- article in start -->
<h1>Lorem ipsum</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p>
<!-- article in end -->
</article>
<!-- article out end -->
<!-- article out start -->
<article>
<!-- article in start -->
<h1>Lorem ipsum</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque, nostrum.</p>
<!-- article in end -->
</article>
<!-- article out end -->
const walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_ELEMENT,
);
for (let node = walker.nextNode(), i = 0;
node;
i++, node= walker.nextNode()
) {
if(node.nodeName == 'H1') node.className = 'classy' ;
}
const elements = Array.from(document.body.querySelectorAll('h1'))
for(let i = 0, len = elements.length; i < len; i++){elements[i].className = 'classy'}
const walker = document.createNodeIterator(
document.body,
NodeFilter.SHOW_ELEMENT,
);
for (let node = walker.nextNode(), i = 0;
node;
i++, node= walker.nextNode()
) {
node.className = 'classy' ;
}