Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0
Firefox 49
Windows
Other
8 years ago
Test name Executions per second
getElementById() 11338693.0 Ops/sec
getElementsByClassName() 3861180.5 Ops/sec
getElementsByTagName() 5143205.0 Ops/sec
querySelector(#id) 6179194.5 Ops/sec
querySelector(.id) 429542.1 Ops/sec
querySelectorAll(#id) 1522432.6 Ops/sec
querySelectorAll(.id) 46598.7 Ops/sec
jQuery(#id) 2080459.5 Ops/sec
jQuery(.id) 417425.8 Ops/sec
jQuery(tag#id) 288537.8 Ops/sec
jQuery(tag.id) 39292.6 Ops/sec
jQuery + getElementById 2464477.0 Ops/sec
jQuery + getElementsByClassName 568918.5 Ops/sec
HTML Preparation code:
AخA
 
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"><script>
2
<script>jQuery.noConflict();</script>
3
<script src="https://cdnjs.cloudflare.com/ajax/libs/cash/7.0.3/cash.min.js"></script>
4
<div id="foo" class="foo2"></div>
Tests:
  • getElementById

     
    var el = document.getElementById("foo");
    var className = el.className;
  • getElementsByClassName

     
    var el = document.getElementsByClassName("foo2");
    var className = el.className;
  • getElementsByTagName

     
    var el = document.getElementsByTagName("div")[0];
    var className = el.className;
  • querySelector (#id)

     
    var el = document.querySelector('#foo');
    var className = el.className;
  • querySelector (.id)

     
    var el = document.querySelector('.foo2');
    var className = el.className;
  • querySelectorAll (#id)

     
    var el = document.querySelectorAll('#foo');
    var className = el.className;
  • querySelectorAll (.id)

     
    var el = document.querySelectorAll('.foo2');
    var className = el.className;
  • Cash (#id)

     
    var el = $("#foo");
    var className = el.className;
  • Cash (.id)

     
    var el = $(".foo2");
    var className = el.className;
  • Cash (tag#id)

     
    var el = $("div#foo");
    var className = el.className;
  • Cash (tag.id)

     
    var el = $("div.foo2");
    var className = el.className;
  • Cash + getElementById

     
    var el = $(document.getElementById("foo"));
    var className = el.className;
  • Cash + getElementsByClassName

     
    var el = $(document.getElementsByClassName("foo2"));
    var className = el.className;
  • jQuery (#id)

     
    var el = jQuery("#foo");
    var className = el.className;
  • jQuery (.id)

     
    var el = jQuery(".foo2");
    var className = el.className;
  • jQuery (tag#id)

     
    var el = jQuery("div#foo");
    var className = el.className;
  • jQuery (tag.id)

     
    var el = jQuery("div.foo2");
    var className = el.className;
  • jQuery + getElementById

     
    var el = jQuery(document.getElementById("foo"));
    var className = el.className;
  • jQuery + getElementsByClassName

     
    var el = jQuery(document.getElementsByClassName("foo2"));
    var className = el.className;