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

Validador IMC

Por que se eu fizer dessa maneira o valor (Peso inválido) não é atribuído ao campo

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

var valido = true;

if (peso < 0 || peso > 400){
    console.log("Peso inválido!");
    valido = false;
    imc = "Peso inválido!";
}

e dessa maneira funciona?

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

var valido = true;

if (peso < 0 || peso > 400){
    console.log("Peso inválido!");
    valido = false;
    imc.textContent = "Peso inválido!";
}

P.S.: Me refiro ao textContent e onde ele está inserido.

3 respostas
solução!

Fala aí Ana, tudo bem? Vamos lá:

Por que se eu fizer dessa maneira o valor (Peso inválido) não é atribuído ao campo

Na primeira abordagem você está criando um variável imc que terá o valor de uma string armazenada nela, isso porque o .textContent vai retornar uma string, dessa maneira, ao alterar o conteúdo da variável:

imc = "Peso inválido!";

Você está alterando apenas o valor da variável e não manipulando o DOM.

Porém, na segunda abordagem quando você faz:

imc.textContent = "Peso inválido!";

Ai sim você está manipulando o DOM e não armazenando valor em variável.

Isso porque quando você fala que o .textContent é igual a X você vai manipular o DOM e quando apenas pega o valor de .textContent você vai pegar o valor atual.

Espero ter ajudado

Entendi, muito obrigada Matheus ><

Magina, sempre que precisar não deixe de criar suas dúvidas.

Bons estudos, abraços.