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

Dúvida sobre classList.add

Porque quando o querySelector é utilizado usamos (.exemplo) um ponto para buscar a class exemplo do HTML para o nosso JS e quando utilizamos o classList.add("exemplo") não utilizamos o ponto dentro do ( ).

var exemplo = exemplo.querySelector(".exemplo");
exemplo.classList.add("exemplo");    
2 respostas
solução!

José, boa noite!

O querySelector procura por todo o documento, você identifica a ele que apenas está procutando por uma classe usando o ponto. Se não utilizar o ponto ele vai procurar por todo o documento a palavra "exemplo".

O classList.add é diferente, nele você já está falando para o sistema que está inserindo uma classe, então ele muda diretamente a classe, sem a necessidade de digitar o ponto.

Aliás, se você digitar o ponto no classList ele irá inserir um ponto dentro do HTML na parte de class list, o que não irá dar erro, mas também não irá funcionar o comando.

Há um exemplo abaixo (Em qualquer momento que colocar o ponto na palavra "erro" ele para de funcionar) Abra o seu F12 do chrome e observe dentro de elements o problema ocorrendo. Espero ter ajudado!

HTML:

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <link rel="stylesheet" type="text/css" href="index.css">

    </head>
    <body>

        <h1 class="exemplo">Teste </h1>

        <script src="javascript.js"></script>

    </body>
</html>

JS:

var exemplo = document.querySelector(".exemplo")
exemplo.classList.add("erro");

CSS

.exemplo{
  color: blue;
}

.erro{
  color: red;
}

Entendi, valeu meu bom!