getElementById() vs getElementsByClassName() vs getElementsByTagName() vs querySelector(#id) vs querySelector(.id) vs querySelectorAll(#id) vs querySelectorAll(.id) vs jQuery(#id) vs jQuery(.id) vs jQuery(tag#id) vs jQuery(tag.id) vs jQuery + getElementById vs jQuery + getElementsByClassName vs jQuery + querySelectorAll vs querySelectorAll in function| Test case name | Result |
|---|---|
| getElementById() | |
| getElementsByClassName() | |
| getElementsByTagName() | |
| querySelector(#id) | |
| querySelector(.id) | |
| querySelectorAll(#id) | |
| querySelectorAll(.id) | |
| jQuery(#id) | |
| jQuery(.id) | |
| jQuery(tag#id) | |
| jQuery(tag.id) | |
| jQuery + getElementById | |
| jQuery + getElementsByClassName | |
| jQuery + querySelectorAll | |
| querySelectorAll in function |
| Test name | Executions per second |
|---|---|
| ✓ getElementById() | 12,466,793 Ops/sec |
| getElementsByClassName() | 10,529,344 Ops/sec |
| getElementsByTagName() | 10,486,617 Ops/sec |
| querySelectorAll(.id) | 7,159,834 Ops/sec |
| querySelectorAll in function | 7,030,800 Ops/sec |
| jQuery(#id) | 6,717,068 Ops/sec |
| querySelector(.id) | 5,782,626 Ops/sec |
| jQuery + getElementById | 5,638,868 Ops/sec |
| querySelector(#id) | 5,575,180 Ops/sec |
| jQuery + getElementsByClassName | 4,731,742 Ops/sec |
| jQuery(.id) | 4,713,058 Ops/sec |
| jQuery + querySelectorAll | 3,974,278 Ops/sec |
| querySelectorAll(#id) | 3,628,498 Ops/sec |
| jQuery(tag.id) | 2,855,967 Ops/sec |
| jQuery(tag#id) | 2,842,685 Ops/sec |