Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1 Safari/605.1.15
Safari 18
Mac OS X 10.15.7
Desktop
one year ago
getElementById()
12.5M/s
getElementsByClassName()
10.5M/s
getElementsByTagName()
10.5M/s
querySelectorAll(.id)
7.2M/s
querySelectorAll in function
7.0M/s
jQuery(#id)
6.7M/s
querySelector(.id)
5.8M/s
jQuery + getElementById
5.6M/s
querySelector(#id)
5.6M/s
jQuery + getElementsByClassName
4.7M/s
jQuery(.id)
4.7M/s
jQuery + querySelectorAll
4.0M/s
querySelectorAll(#id)
3.6M/s
jQuery(tag.id)
2.9M/s
jQuery(tag#id)
2.8M/s
View exact numbers
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
HTML Preparation code:
Tests: