$(this).attr('id') vs this.id

JavaScript performance comparison

Revision 20 of this test case created by

Preparation code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<a id="tester" class="tests" href="#">abcdefghijkl</a>
<script>
  $a = $('.tests');
</script>
    

Preparation code output

<a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <a id="tester" class="tests" href="#">abcdefghijkl</a> <script> $a = $('.tests'); </script>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
$(this).attr('id');
$a.each(function(index) {
  $t = $(this).attr('id');
});
pending…
this.id
$a.each(function(index) {
  $t = this.id;
});
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.

1 Comment

Andries Nieuwenhuize commented :

Remember that an id must be unique within the page. The test context is not properly set up.

abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl abcdefghijkl