jQuery .first() vs :first selector

Benchmark created by Kamil on


Preparation HTML

<table>
  <tr>
    <td>
      Hdr 1
    </td>
    <td>
      Hdr 2
    </td>
    <td>
      Hdr 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <tr>
    <td>
      Col 1
    </td>
    <td>
      Col 2
    </td>
    <td>
      Col 3
    </td>
  </tr>
  <script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
  </script>

Test runner

Ready to run.

Testing in
TestOps/sec
.first()
$("table").find("tr").first();
ready
:first()
$("table").find("tr:first");
ready
.eq(0)
$("table").find("tr").eq(0);
ready
:nth(0)
$("table").find("tr:nth(0)");
ready

Revisions

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