Supondo que cada elemento no DOM tenha seu próprio nome de classe exclusivo:
É melhor prática usar IDs em vez de nomes de classe ao selecionar elementos no DOM com jQuery?
Existe alguma vantagem de desempenho ao usar um sobre o outro no jQuery?
Disseram-me que tradicionalmente obter um elemento DOM via ID em vez de por classe é muito mais rápido e geralmente uma prática melhor, mas isso se aplica ao jQuery também?
Muito obrigado antecipadamente!
Respostas:
5 para resposta № 1jQuery apenas aproveita a funcionalidade do navegador. Em navegadores mais antigos (IE <9), não há getElementsByClassName
função, mas praticamente todos os navegadores suportam getElementById
. Nesses navegadores, o jQuery precisa percorrer toda a árvore e procurar todos os elementos com o nome de classe fornecido. Portanto, usar IDs será mais rápido.
No entanto, tenha em mente que os id "s devem ser únicos, i.e. você não pode ter dois elementos com o mesmo ID. Isso geralmente não é aconselhável, uma vez que os componentes podem ser usados em contextos diferentes na mesma página. Usar IDs exclusivamente evitaria isso.
1 para resposta № 2
Selecionar por ID ainda é mais rápido do que por nomes de classe no jquery.