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

Não calcula nenhum IMC

const pacientes = document.querySelectorAll(".pacientes");


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

    let paciente = pacientes[i];

    const tdPeso = paciente.querySelector(".info-peso");
    const tdAltura = paciente.querySelector(".info-altura");

    const peso = tdPeso.textContent;
    const altura = tdAltura.textContent;

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

    let pesoEhValido = true;
    let alturaEhValida = true;

    if(peso < 0 || peso >= 1000){
        console.log("Peso invalido");
        pesoEhValido = false;
        tdImc.textContent = "Peso Invalido";
    }

    if(altura < 0 || altura >= 3.00){
        console.log("Altura Invalida");
        alturaEhValida = false;
        tdImc.textContent = "Altura Invalida";
    }

    if(pesoEhValido && alturaEhValida){
        const imc = peso / (altura * altura);
        tdImc.textContent = imc.toFixed(2);
    }
}

quando eu rodo o codigo não calcula nenhum imc, não da erro nem nada, so não calcula

3 respostas

Vc pode depurar(analise) seu código colocando mais console.log()

Coloque um antes do for

console.log(pacientes.length)

Coloque um antes do if

console.log(i,peso,altura)

Coloque depois do const imc

console.log(imc)

Assim vc pode acompanha no 'Console' da 'Ferramenta do Desenvolvedor (F12)' o q está acontecendo

coloquei os consoles e ainda assim não entendi onde esta o erro, diz q o pacientes.length = 0

solução!

Ótimo. vc encontrou onde está o problema

Se 'pacientes.length = 0' então vc tem que procuara no seu código html

O 'document.querySelectorAll(".pacientes")' pega todos os elementos no código HTML q tem a Class '.pacientes'

tem q vê se vc digitou correto, se eles realmente existem ou se sua chamada do 'script' está por último

Vc também pode testar no próprio 'Console' da 'Ferramenta do Desenvolvedor (F12)' , digitando

document.querySelectorAll(".pacientes").length

Se vc não encontrar, coloque, aqui, seu código completo (HTML + JS) para eu poder analisar