/ / Melhor prática: Selecione por id ou classe com jQuery? - dom, jquery-seletores

Melhor Prática: Selecione por id ou classe com jQuery? - dom, jquery-selectors

Supondo que cada elemento no DOM tenha seu próprio nome de classe exclusivo:

  1. É melhor prática usar IDs em vez de nomes de classe ao selecionar elementos no DOM com jQuery?

  2. 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 № 1

jQuery 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.