xpath-vs-dom-vs-jquery

Benchmark created by Scott Sauyet on


Preparation HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<div class="box">
    <h3>Some title</h3>
    <p class="buttons">
        <button onclick="myfunction(this)">Trigger</button>
    </p>
</div>

<script>
  var button, $button;
  
  $(document).ready(function() {
      $button = $("div.box button");
      button = $button[0];
  });
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
DOM Traversal
var header = button.parentNode.parentNode.getElementsByTagName("h3")[0]; 
ready
XPath
var heading = document.evaluate("../../h3", button, null,
XPathResult.ANY_TYPE, null); 
ready
JQuery
var heading = $button.parent().parent().find("h3");
ready

Revisions

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

  • Revision 1: published by Scott Sauyet on
  • Revision 2: published by Matt on