Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

toFixed(2) não está funcionando para mim.

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

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 tdimc= paciente.querySelector(".info-imc");
    var imc = peso/(altura*altura);
    tdimc.textContent = imc;

    var AlturaValida= true;
    var PesoValido= true;

    if (peso<0 || peso>1000){
        PesoValido=false;



    }
    if (altura<0 || altura>4){
        AlturaValida=false;

    }

    if (AlturaValida&&PesoValido){
        var imc = calculaImc(peso, altura);
        tdImc= textContent = imc;

    } else{
        tdimc.textContent="Dados Inválidos";
        paciente.classList.add("paciente-invalido")
    }
}

function calculaImc(peso,altura){
    var imc = 0
    imc = peso/(altura*altura);
    return imc.toFixed(2);

}
2 respostas
solução

Olá Julie, tudo bem com você?

Você acabou cometendo um pequeno de digitação, veja:

        tdImc= textContent = imc;

na verdade você chamou o <td> responsável pelo IMC de tdimc no começo do seu código :)

E ai precisamos acessar o textContent através do ponto e não =, corrigindo então, para:

tdimc.textContent =  imc;

O seu código estará funcionando corretamente com as duas casas decimais :)

Abraços e Bons Estudos!

Nossa, Muito Obrigada !!!!