2
respostas

Declaraço de classe

Olá, até então quando foi necessário declarar/chamar uma classe com java foi usado o .nome-da-classe, exemplo:

var tdImc = paciente.querySelector(".info-imc");

Porque na linha de código para adicionar uma classe à um elemento não é utilizado o "." na frente do nome da classe? exemplo:

paciente.classList.add ("erro");
2 respostas

Olá, boa tarde.

Não é necessário adicionar o "." antes pois você já está chamando um método que permitir adicionar novas classes a um elemento.

imagine o código hipotético abaixo:

<div class="div"></div>
<div id="div"></div>

Agora, se usarmos o querySelector neste exemplo abaixo estaríamos selecionando qual elemento?

var el = document.querySelector("div");

Viu como fica complicado se não colocamos os identificadores "#" e "."?

Olá Ricardo, tudo bom??

Complementando o que nosso amigo Igor Melo falou, o comportamento do querySelector é retornar o primeiro elemento encontrado dentro dos "padrões" especificados, ou seja, no exemplo mencionado onde temos duas divs

<div>Primeiro</div>
<div>Segundo</div>

Se o nosso código javascript estiver assim:

var el = document.querySelector("div");

Teremos como retorno o primeiro elemento do tipo div do nosso código, independente de classes ou ids, esse comportamento se replica para qualquer outro elemento. Caso o objetivo seja capturar todas as divs, podemos utilizar o querySelectorAll, caso seja um elemento mais específico, podemos lançar uso de classes e ids e então utilizarmos os seletores CSS para cada um!

Classes -> .nome_da_classe

ID -> #nome_da_classe


No CSS, temos os seletores e dentre eles, existe o seletor de classe que tem como prefixo o ponto final e seguido dele, vem o nome da classe que você colocou.

No caso acima, no primeiro, estamos selecionando um elemento no qual contém a classe info-imc, por isso devemos utilizar o ponto. É importante frizar que o querySelector utiliza qualquer seletor CSS que você passar e retorna o primeiro encontrado

No segundo caso, adicionamos uma classe em um elemento, nesse caso, não utilizamos o prefixo ponto final já que a intenção não é selecionar nada!

Espero ter ajudado!

Abraços e bons estudos!