jquery selector speed

JavaScript performance comparison

Revision 63 of this test case created

Preparation code

<h1>
  Header One
</h1>
<p>
  Lorem ipsum
  <em>
    emphasised text
  </em>
  dolor sit amet,
  <strong>
    strong text
  </strong>
  consectetur adipisicing elit,
  <abbr title="">
    abbreviated text
  </abbr>
  sed do eiusmod tempor
  <acronym title="">
    acronym text
  </acronym>
  incididunt ut labore et dolore magna aliqua. Ut
  <q>
    quoted text
  </q>
  enim ad minim veniam, quis nostrud exercitation
  <a href="/">link text</a>
  ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
  <del>
    deleted text
  </del>
  <ins>
    inserted text
  </ins>
  irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
  pariatur. Excepteur sint occaecat
  <code>
    code text
  </code>
  cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<blockquote>
  <p>
    Blockquote. Velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
    cupidatat non proident, sunt in culpa qui officia
  </p>
</blockquote>
<p>
  <cite>
    <a href="/">Cite author with link text</a>
  </cite>
  , 2008
</p>
<h2>
  Header 2
</h2>
<p>
  Extended paragraph. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
  do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
  quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
  nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
  officia deserunt mollit anim id est laborum.
</p>
<ol>
  <li>
    Ordered list
  </li>
  <li>
    Item 2 Consectetur adipisicing elit
  </li>
  <li>
    Item 3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
    tempor incididunt ut labore et dolore magna aliqua
  </li>
  <li>
    Item 4
  </li>
  <li>
    Item 5
  </li>
</ol>
<p>
  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
  fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
  qui officia deserunt mollit anim id est laborum.
</p>
<h3>
  Header 3
</h3>
<p>
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
  incididunt ut labore et dolore magna aliqua.
</p>
<ul>
  <li>
    Unordered list
  </li>
  <li>
    Consectetur adipisicing elit
  </li>
  <li>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
    incididunt ut labore et dolore magna aliqua
  </li>
  <li>
    Item
  </li>
  <li>
    Item
  </li>
  <li>
    Item
  </li>
</ul>
<p>
  Lorem ipsum dolor sit amet,consectetur adipisicing elit, sed do eiusmod tempor incididunt
  ut labore et dolore magna aliqua.
</p>
<pre>
  <code>
    pre and code pair{ display:block; line-height:1.833em; border-top:0.083em solid
    #200; }
  </code>
</pre>
<p>
  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
  fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa
  qui officia deserunt mollit anim id est laborum.
</p>
<h4>
  Header 4
</h4>
<p>
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
  incididunt ut labore et dolore magna aliqua.
</p>
<dl>
  <dt>
    Definition list
  </dt>
  <dd>
    Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
    magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat.
  </dd>
  <dt>
    Lorem ipsum dolor sit amet
  </dt>
  <dd>
    Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
    magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat.
  </dd>
  <dt>
    Lorem ipsum dolor sit amet
  </dt>
  <dd>
    Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
    magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat.
  </dd>
  <dt>
    Lorem ipsum dolor sit amet
  </dt>
  <dd>
    Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore
    magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
    nisi ut aliquip ex ea commodo consequat.
  </dd>
</dl>
<div id="id">
  <p>
    hey
  </p>
  <form>
    <input type="text" value="value" name="value1" id="entertainmentAvailabilityForm-searchDate">
    </input>
    <input type="text" value="value" name="value2" id="value2">
    </input>
    <input type="text" value="value" name="value3" id="value3">
    </input>
    <input type="text" value="value" name="value4" id="value4">
    </input>
    <input type="text" value="value" name="value5" id="value5">
    </input>
    <input type="text" value="value" name="value6" id="value6">
    </input>
  </form>
</div>
<p>
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
  incididunt ut labore et dolore magna aliqua.
</p>
<table summary="Table summary">
  <caption>
    Table Caption
  </caption>
  <thead>
    <tr>
      <th>
        Header
      </th>
      <th>
        Header
      </th>
      <th>
        Header
      </th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        Content
      </td>
      <td>
        1
      </td>
      <td>
        a
      </td>
    </tr>
    <tr>
      <td>
        Content
      </td>
      <td>
        2
      </td>
      <td>
        b
      </td>
    </tr>
    <tr>
      <td>
        Content
      </td>
      <td>
        3
      </td>
      <td>
        c
      </td>
    </tr>
    <tr>
      <td>
        Content
      </td>
      <td>
        4
      </td>
      <td>
        d
      </td>
    </tr>
    <tr>
      <td>
        Content
      </td>
      <td>
        5
      </td>
      <td>
        e
      </td>
    </tr>
    <tr>
      <td>
        Content
      </td>
      <td>
        6
      </td>
      <td>
        f
      </td>
    </tr>
  </tbody>
</table>
<address>
  Author text
</address>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
</script>

Preparation code output

Header One

Lorem ipsum emphasised text dolor sit amet, strong text consectetur adipisicing elit, abbreviated text sed do eiusmod tempor acronym text incididunt ut labore et dolore magna aliqua. Ut quoted text enim ad minim veniam, quis nostrud exercitation link text ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute deleted text inserted text irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat code text cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Blockquote. Velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia

Cite author with link text , 2008

Header 2

Extended paragraph. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

  1. Ordered list
  2. Item 2 Consectetur adipisicing elit
  3. Item 3 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
  4. Item 4
  5. Item 5

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Header 3

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • Unordered list
  • Consectetur adipisicing elit
  • Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
  • Item
  • Item
  • Item

Lorem ipsum dolor sit amet,consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  
    pre and code pair{ display:block; line-height:1.833em; border-top:0.083em solid
    #200; }
  

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Header 4

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Definition list
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

hey

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Table Caption
Header Header Header
Content 1 a
Content 2 b
Content 3 c
Content 4 d
Content 5 e
Content 6 f
Author text

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
1. by id then tag
$('#id p").css('
border ','
1px solid red ');
pending…
2. id find tag
$('#id').find("p").css('border', '1px solid red');
pending…
3. by element and id
var arr = ['one', 'two', 'three', 'four'];
Array.prototype.indexOf = function(item, startIndex) {
  for (var i = (startIndex || 0); i < this.length; i++) {
    if (this[i] === item) {
      return i;
    }
  }
  return -1;
};
var index = arr.indexOf('three');
pending…
4. by tag name and find by id
var arr = ['one', 'two', 'three', 'four'];

var index = $.inArray(arr, 'three');
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