Eu ouvi isso querySelector
e querySelectorAll
são novos métodos para selecionar DOM
elementos. Como eles se comparam aos métodos mais antigos getElementById
e getElementsByClassName
em termos de desempenho e suporte do navegador?
Como o desempenho se compara ao uso do seletor de consulta do jQuery?
Existe uma recomendação de prática recomendada para qual conjunto nativo usar?
getElementById
e getElementsByClassName
ainda são ideais para os fins seus nomes descrevem.
qS/qSA
pode ser usado a partir de qualquer contexto de elemento, mas gEBI
só pode ser usado a partir do document
contexto.
getElementById
corresponde aos id
atributos para encontrar nós DOM, enquanto querySelector
pesquisa por seletores. Assim, para um seletor inválido por exemplo <div id="1"></div>
, getElementById('1')
iria trabalhar enquanto querySelector('#1')
seria um fracasso, a menos que você diga a ele para coincidir com o id
atributo (ex querySelector('[id="1"]')
.
querySelector
e querySelectorAll
são totalmente suportados agora. caniuse.com/#feat=queryselector