matches() V.S. closest()

Benchmark created on


Preparation HTML

<div id="mainApp">
     <div class="levelContainer" id="gplay">
        <div class="levelHeader">
          <button class="btn btn-primary levelHeaderButton" id="gameBackButton"><span icon-name="arrow_back"></span></button>
          <span>Level 1</span>
          <button class="btn btn-primary levelHeaderButton" id="levelPauseButton"><span icon-name="pause"></span></button>
        </div>
        <div class="blockContainer">
          <div class="levelPlayContainer" hidden>
            <span class="mainStages" style="--stages: 10; --stages-finished: 0"></span>
            <span class="mainStagesText">0/10</span>
            <div class="blocks"></div>
            <span class="mainTimer" style="--time-percentage: 100%"></span>
          </div>
          <div class="selectLevelContainer" hidden></div>
        </div>
        <div id="levelDialogOuterContainer"></div>
      </div>
    </div>

Test runner

Ready to run.

Testing in
TestOps/sec
closest
const lpb = document.body.querySelector("#levelPauseButton");
lpb.closest(".levelHeader");
ready
matches
const lpb = document.body.querySelector("#levelPauseButton");
lpb.matches(".levelHeader, .levelHeader *");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.