getElementsByTagname("a")[0] vs. querySelector("a")

JavaScript performance comparison

Revision 4 of this test case created by Scott Sauyet

Info

Tests how quickly you can iterate through multiple elements on the page using getElementsByTagName("a") vs. querySelector("a").

Preparation code

<ul>
  <li><a href="#">Item</a></li>
  <li><a href="#">Item</a></li>
  <li><a href="#">Item</a></li>
  <li><a href="#">Item</a></li>
  <li><a href="#">Item</a></li>
</ul>
<script>
  var list, result, i, len;
</script>

Preparation code output

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
Using getElementsByTagName()
list = document.getElementsByTagName("a");
len = list.length;

for (i = 0; i < len; i++) {
 result = list[i];
}
pending…
Using querySelector()
list = document.querySelector("a");
len = list.length;

for (i = 0; i < len; i++) {
 result = list[i];
}
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