Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0
Firefox 107
Windows
Desktop
2 years ago
Test name Executions per second
parentElement 582327616.0 Ops/sec
closest tag 7855647.5 Ops/sec
closest class 7588724.0 Ops/sec
closest tag class 7421380.5 Ops/sec
parentNode 688549376.0 Ops/sec
HTML Preparation code:
AخA
 
1
<span class="span">
2
  <div>
3
    <div id='it'>
4
    </div>
5
  </div>
6
</span>
Script Preparation code:
 
var it = document.getElementById("it");
Tests:
  • parentElement

     
    while (it !== null && it.className.indexOf("span") === -1) {
      it = it.parentElement;
    }
  • closest tag

     
    it.closest('span')
  • closest class

     
    it.closest('.span')
  • closest tag class

     
    it.closest('span.span')
  • parentNode

     
    while (it.className.indexOf("span") === -1) {
      it = it.parentNode;
      if(it === document) {
        it = null
        break
      }
    }