Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Código não calcula os valores

Boa tarde, tentei fazer o código sozinho após assistir o vídeo, e analisando a lógica pelo menos pra mim está ok, só que quando atualizo a página ele deixa os valores de imc zerados.

Não consegui identificar o que posso estar errando.

Desde já agradeço se alguém puder dar uma força.

var titulo = document.querySelector(".titulo");
titulo.textContent = "Aparecida Nutricionista";

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

for(var i = 0; i < pacientes.length[i]; 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 tdImc = paciente.querySelector(".info-imc");

    var pesoValido = true;
    var alturaValida = true;

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

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

  if (alturaValida && pesoValido) {
        var imc = peso / (altura * altura);
        tdImc.textContent = imc.toFixed(2);
    }
}
1 resposta
solução!

Oi, Rafael, tudo bem?

Na linha for(var i = 0; i < pacientes.length[i] o índice [i] não deveria estar aí, já que a propriedade length está fazendo o papel de pegar a quantidade de pacientes da classe .paciente. Testa e me fala se deu certo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software