querySelector for existing element vs getElementsByTagName for existing element vs querySelector for none existing element vs getElementsByTagName for none existing elementFastest: getElementsByTagName for existing element (2.1x faster)
24,316,576 ops/sec
23,931,822 ops/sec
11,976,880 ops/sec
11,650,139 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| querySelector for existing element | |
| getElementsByTagName for existing element | |
| querySelector for none existing element | |
| getElementsByTagName for none existing element |
| Test name | Executions per second |
|---|---|
| ✓ getElementsByTagName for none existing element | 33,616,616 Ops/sec |
| getElementsByTagName for existing element | 31,130,122 Ops/sec |
| querySelector for none existing element | 19,398,800 Ops/sec |
| querySelector for existing element | 18,810,404 Ops/sec |