Ik heb gehoord dat querySelector
& querySelectorAll
zijn nieuwe methoden om DOM
-elementen te selecteren. Hoe verhouden ze zich tot de oudere methoden, getElementById
& getElementsByClassName
in termen van prestaties en browserondersteuning?
Hoe verhouden de prestaties zich tot het gebruik van de queryselector van jQuery?
Is er een aanbevolen werkwijze voor welke native set te gebruiken?
Antwoord 1, autoriteit 100%
‘Beter’ is subjectief.
querySelector
is de nieuwere functie.
getElementById
wordt beter ondersteund dan querySelector
.
querySelector
wordt beter ondersteund dan getElementsByClassName
.
Met
querySelector
kun je elementen vinden met regels die niet kunnen worden uitgedrukt met getElementById
en getElementsByClassName
Je moet de juiste tool kiezen voor een bepaalde taak.
(Lees in het bovenstaande voor querySelector
querySelector
/ querySelectorAll
).
Antwoord 2, autoriteit 29%
De functies getElementById
en getElementsByClassName
zijn zeer specifiek, terwijl querySelector
en querySelectorAll
uitgebreider zijn. Ik vermoed dat ze in werkelijkheid slechter zullen presteren.
U moet ook controleren of elke functie wordt ondersteund in de browsers die u target. Hoe nieuwer het is, hoe groter de kans op gebrek aan ondersteuning of dat de functie “buggy” is.