2
respostas

Não está escrevendo no IMC

var pacientes = document.querySelectorAll(".paciente");

for (var i = 0; i < pacientes.length; i++){

  var paciente = pacientes[i];

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

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

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


  var PesoEhValido = true;
  var AlturaEhValida = true;

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

  if(altura <= 0 || altura >= 3.00){
    console.log("Altura Inválida")
    AlturaEhValida = false;
    imc.textContent = "Altura inválida!";
  };

  if(PesoEhValido && AlturaEhValida){
    imc = peso / (altura * altura);
    imc.textContent = imc;
  };
  console.log(imc);
}

Boa tarde Galera!

Então... fiz o exercício mas meu programa não tá escrevendo no site =/ Engraçado é que quando eu boto uma altura ou peso inválido ele escreve, mas quando calcula o IMC e é pra escrever o IMC correto ele não faz isso...

Alguém pode me ajudar?

Valeu!

2 respostas

Oi Jeferson,

Está dando algum erro no seu console?

Cuidado que quando você faz:

imc = peso / (altura * altura);

Você está redefinindo a variável imc e neste caso ela passa a não ter mais o textContent. Possivelmente é isto que está causando o erro.

Neste caso você precisa renomear a sua variável da td ou do cálculo.

Abraço!

Consegui Joviane!! Obrigado!! Alterei a seguinte parte

  if(PesoEhValido && AlturaEhValida){
    imc.textContent = peso / (altura * altura);
    };