Eu ouvi isso querySelectore querySelectorAllsão novos métodos para selecionar DOMelementos. Como eles se comparam aos métodos mais antigos getElementByIde getElementsByClassNameem 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?
getElementByIde getElementsByClassNameainda são ideais para os fins seus nomes descrevem.
qS/qSApode ser usado a partir de qualquer contexto de elemento, mas gEBIsó pode ser usado a partir do documentcontexto.
getElementByIdcorresponde aos idatributos para encontrar nós DOM, enquanto querySelectorpesquisa 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 idatributo (ex querySelector('[id="1"]').
querySelectore querySelectorAllsão totalmente suportados agora. caniuse.com/#feat=queryselector