id selector context (v284)

Revision 284 of this benchmark created on


Description

*** This version adds a suggestion from a comment in Revision 2 of this test

Comparing the performance difference of varied jQuery 1.7 selectors.

This test page contains some dummy HTML (from html-ipsum.com) just to give the page some weight, make the selectors work a little bit.

Note that the "Tag" selector is selecting a tag that happens to be unique in the page just to be fair.

Preparation HTML

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<style type="text/css">
  .hide { display: none; }
</style>
<div class='container' id="containerid">
    <div class='main'>
        <ul class='list-1'>
            <li class='odd'>item</li>
            <li>item</li>
            <li class='odd'>item</li>
            <li>item</li>
            <li class='even'>item</li>
            <li>item</li>
            <li class='odd'>item</li>
            <li>item</li>
            <p class='hide'>paragraph</p>
        </ul>
        <ul class='list-2'>
            <li class='odd'>item</li>
            <li>item</li>
            <li class='odd'>item</li>
            <li>item</li>
            <li class='even'>item</li>
            <li>item</li>
            <li class='odd'>item</li>
            <li>item</li>
            <p>paragraph</p>
        </ul>
    </div>
</div>

Test runner

Ready to run.

Testing in
TestOps/sec
jQuery ID
$("#containerid .even");
ready
jQuery with find
$("#containerid").find('.even');
ready
jQuery Selector class
$(".container .list-1 .even")
ready
jQuery Selector class with find()
$('.container').find('.list-1').find('.even');
ready
jQuery tagname
$("div p");
ready
jQuery tagname with find()
$("div").find("p");
ready
jQuery without Chaining
$("#containerid").find('.even').css("color","#f0f");
$("#containerid").find('.even').height(30);
ready
jQuery with chaining
$("#containerid").find('.even').css("color","#f0f").height(30);
ready
jQuery attribute selector
$('[id = "para"]');
ready
jQuery attrubute selector using ID
$("#containerid").find('[id = "para"]');
ready
jQuery Psuedo selector
$(":hidden");
ready

Revisions

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