$(this).attr('id') vs this.id
JavaScript performance comparison
Preparation code
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<a id="tester1" class="tests" href="#">abcdefghijkl</a>
<a id="tester2" class="tests" href="#">abcdefghijkl</a>
<a id="tester3" class="tests" href="#">abcdefghijkl</a>
<a id="tester4" class="tests" href="#">abcdefghijkl</a>
<a id="tester5" class="tests" href="#">abcdefghijkl</a>
<a id="tester6" class="tests" href="#">abcdefghijkl</a>
<a id="tester7" class="tests" href="#">abcdefghijkl</a>
<a id="tester8" class="tests" href="#">abcdefghijkl</a>
<a id="tester9" class="tests" href="#">abcdefghijkl</a>
<a id="tester10" class="tests" href="#">abcdefghijkl</a>
<a id="tester11" class="tests" href="#">abcdefghijkl</a>
<a id="tester12" class="tests" href="#">abcdefghijkl</a>
<a id="tester13" class="tests" href="#">abcdefghijkl</a>
<a id="tester14" class="tests" href="#">abcdefghijkl</a>
<a id="tester15" class="tests" href="#">abcdefghijkl</a>
<a id="tester16" class="tests" href="#">abcdefghijkl</a>
<script>
$a = $('.tests');
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
$(this).attr('id'); |
|
pending… |
$(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. Here’s a list of current revisions for this page:
- Revision 1: published by Addy Osmani
- Revision 2: published by Addy Osmani
- Revision 3: published by polotek
- Revision 4: published by Roman
- Revision 5: published
- Revision 6: published
- Revision 7: published
- Revision 8: published
- Revision 9: published by Andrée
- Revision 10: published
- Revision 12: published
- Revision 13: published
- Revision 15: published
- Revision 16: published by Sampath lankapura
- Revision 17: published
- Revision 18: published
- Revision 19: published
- Revision 20: published
- Revision 21: published by Benjamin
- Revision 22: published by Dmitriy
- Revision 24: published
- Revision 25: published by Bui
- Revision 26: published
- Revision 27: published
- Revision 28: published
1 comment
I think the second case is incorrect on the Chart. It would be this.id and not $(this).id