Test name | Executions per second |
---|---|
Single .closest() with multiple classes, no match | 843764.2 Ops/sec |
Loop through classes, no match | 342196.2 Ops/sec |
Single .closest() with multiple classes, no match (plus 3 classes) | 657774.8 Ops/sec |
Loop through classes, no match (plus 3 classes) | 238290.2 Ops/sec |
<div>
<div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>
<h2 id="one">One (has no ancestor class)</h2>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>
/*your preparation JavaScript code goes here
one = document.getElementById('one');
To execute async code during the script preparation, wrap it as function globalMeasureThatScriptPrepareFunction, example:*/
async function globalMeasureThatScriptPrepareFunction() {
// This function is optional, feel free to remove it.
// await someThing();
}
one.closest('.apple, .banana, .coconut, .dragonfruit, .eggplant, .fig, .grape');
['.apple', '.banana', '.coconut', '.dragonfruit', '.eggplant', '.fig', '.grape'].some((className) => one.closest(className));
one.closest('.apple, .banana, .coconut, .dragonfruit, .eggplant, .fig, .grape, .extra1, .extra2, .extra3');
['.apple', '.banana', '.coconut', '.dragonfruit', '.eggplant', '.fig', '.grape', '.extra1', '.extra2', '.extra3'].some((className) => one.closest(className));