jQuery helpers: $all and $one (v2)

Revision 2 of this benchmark created by Kyle Simpson on


Description

Helpers to make imediate use of querySelector and querySelectorAll

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div class="level1">
    <div class="level2">
        <div class="level3">
            <div class="level4">
                <div class="level5" id="foo">
                </div>
                <div class="level5">
                </div>
                <div class="level5">
                </div>
            </div>
        </div>
    </div>
</div>
<script>
  if (document.querySelector && document.querySelectorAll) {
   window.$one = function(query, context) {
    return $((context || document).querySelector(query));
   };
  
   window.$all = function(query, context) {
    return $((context || document).querySelectorAll(query));
   };
  }
  else {
   window.$one = function(query, context) {
    return $(query, context);
   };
   window.$all = window.$one;
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
One element without helper
$('.level1 .level2 .level3 .level4 #foo');
ready
One element with helper
$one('.level1 .level2 .level3 .level4 #foo');
ready
All elements without helper
$('.level1 .level2 .level3 .level4 .level5');
ready
All elements with helper
$all('.level1 .level2 .level3 .level4 .level5');
ready

Revisions

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

  • Revision 1: published by Diogo Baeder on
  • Revision 2: published by Kyle Simpson on