Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Por que querySelector("#id") e não getElementById?

Nos cursos de JS que assisti até agora sempre vejo a utilização do querySelector("#id"). Existe alguma justificativa para o seu uso no lugar de getElementeById("id"), já que a princípio eles retornam a mesma coisa? Desde já agradeço.

5 respostas

Boa tarde, Joseline

O querySelector vai retorno o primeiro elemento que ele encontrar levando em consideração o seletor CSS que você passou. No seu caso você está procurando o seletor de id "#" com o nome id. O legal do querySelector que você possui diversas possibilidades, por exemplo, você poderia procurar um seletor CSS de classe(".") com o nome menu: querySelector(".menu").

Já o getElementById("id") você exclusivamente está procurando por um ID, não tem a possibilidade de procurar por uma classe ou tagName, para isso você teria que usar getElementByClassName... por exemplo.

solução!

Boa tarde, Joseline! Como vai?

O querySelector() é mais flexível dado que aceita uma diversidade maior de seletores e não apenas o de ID como é o caso do getElementById(). Então, por isso, normalmente se dá preferência a ele.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, minha aluna!

Também estava com a mesma dúvida... excelente resposta!

Obrigada Gabriel (ao quadrado), entendi a ideia. Só pensei que usando "getElementById" eu teria um universo de busca reduzido, ou seja, em vez de buscar no DOM inteiro (como o querySelector faz) eu buscaria somente nos elementos com Id, aumentando a eficiência do processo. Obrigada.

Por nada, Joseline! Sempre que tiver qualquer dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, minha aluna!