Why cache jQuery selectors? (v6)

Revision 6 of this benchmark created on


Preparation HTML

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

Test runner

Ready to run.

Testing in
TestOps/sec
Array caching
$(document).ready(function() {
  var arr = $(".bar").toArray();
  $(arr).attr("style", "color: black;");
  $(arr).attr("class", "foo");
});
ready
Not cached
$(document).ready(function() {
  $(".bar").attr("style", "color: black;");
  $(".bar").attr("class", "foo");
});
ready
Cached
$(document).ready(function() {
  var foo = $(".bar");
  foo.attr("style", "color: black;");
  foo.attr("class", "foo");
});
ready

Revisions

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