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

tdImc.textContent is not a function

Ola, estou com um problema no meu código nesta parte e não consigo encontrar o motivo:

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

for(var i = 0; i< pacientes.length; i++){ //seleciona todos os pacientes e executa o código 

    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 pesoEhValido = true;
    var alturaEhValida = true;

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

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

    if (pesoEhValido && alturaEhValida){
        var imc = peso / (altura * altura);

    tdImc.textContent = imc;

    }


}

Qual o motivo de estar aparecendo este problema?

1 resposta
solução!

Fala aí Carlos, beleza? Seu problema está nos dois primeiros if, veja que você está fazendo:

tdImc.textContent("Peso Inválido");
tdImc.textContent("Altura Inválida");

Dessa maneira está tentando chamar o textContent como uma função e como o erro diz:

tdImc.textContent is not a function

Para resolver o problema, troque as linhas por:

tdImc.textContent = "Peso Inválido";
tdImc.textContent = "Altura Inválida";

Espero ter ajudado.