$(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 was just curious if it mattered if the HTML was valid, since the original test had all of the elements having the same ID (technical invalid). Turns out, that made no difference.