jQuery Selector Benchmark

JavaScript performance comparison

Revision 18 of this test case created

Info

You can select children on a DOM in so many ways. This test breaks down selecting children in a list with use of a context, no context, and child selectors.

Preparation code

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<div id="container">
  <div id="parent">
        <input type="text" value="">
        <input type="text" value="hello1">
        <input type="text" value="hello2">
        <input type="radio" value="r1">
        <input type="radio" value="">
      </div>
</div>
<script>
  Benchmark.prototype.setup = function() {
    //Save The Context
    var parentContext = document.getElementById('parent');
  };
</script>

Preparation code output

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Context
$('input:text[value=""]', parentContext);
pending…
Find
$(parentContext).find('input[type="text"][value=""]');
pending…
Alternate Find
$('#parent input').filter('[type="text"][value=""]');
pending…
Children
$('#parent').find('input').filter(':text').filter('[value=""]')
pending…
last selector
$('#parent > input:text[value=""]');
pending…
last traversal
$('#parent').find('input').filter(':text[value=""]')
pending…
type="text"
$(parentContext).find('input[type="text"][value=""]');
pending…
$('#parent').find('input[value=""]').filter(':text')
pending…

Compare results of other browsers

Revisions

You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:

0 comments

Add a comment