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

Diferença querySelector e elementById

Vi que foi utilizado no video o querySelector, ele pega o nome de tags, classes e ids, caso va selecionar um elemento pelo id, devo usar o querySelector ou elementById? Tem diferença de performance?

5 respostas

Olá Guilherme, tudo bem ?

Então cara o querySelector, vai pegar sempre o primeiro que encontrar. E o elementById vai pegar o elemento com o id, ou seja exatamente o que você deseja.

Abraços

solução!

Bom dia, Guilherme! Tudo bem, cara? =)

Conforme o Matheus disse acima, o getElementById irá buscar o elemento com o ID que você está buscando, enquanto que o querySelector trará o primeiro elemento de acordo com a expressão que você passar lá dentro.

Então, vamos supor que temos uma <div> assim:

<div id="teste"></div>

Se fizermos document.querySelector("#teste") ou document.getElementById("teste"), ambos trarão o mesmo elemento... Entretanto você perguntou também sobre performance. Eu não conhecia esse problema e fui dar uma pesquisada até para poder lhe responder melhor.

Se você der uma Googlada, verá que o Stack Overflow possui uma thread onde um dos usuários comenta sobre a diferença de performance, afirmando que o getElementById é cerca de 5 vezes mais rápido que a outra forma! Não contente com essa única resposta, mais adiante achei esse link, que realiza alguns testes e mostra a diferença... Dá uma olhada! =)

Acho que com esses dois links é seguro dizer que sim, há uma diferença de performance. E a forma mais antiga (getElementById) é mais performática! =)

Espero ter ajudado, mas qualquer dúvida não deixe de postar por aqui para que possamos ajudá-lo!

Abraço e bons estudos,

Fábio

Nao nao, acho que nao expliquei direito rsrs por exemplo

algo aqui

No js posso ter:

getElementById ('#titulo');

Ou

QuerySelector ('#id');

Queria saber se existe alguma recomendação de uso de algum deles, seja boas praticas ou performance mesmo

Nao nao, acho que nao expliquei direito rsrs por exemplo

<h1 id="titulo">algo aqui </h1>

No js posso ter:

getElementById ('#titulo');

Ou

QuerySelector ('#id');

Queria saber se existe alguma recomendação de uso de algum deles, seja boas praticas ou performance mesmo

Perfeito Fábio :) vou dar uma olhada nos links que citou, valeu mesmo :)