2
respostas

Não estou conseguindo calcular o IMC dos pacientes, alguém sabe o que pode ser ?

<tbody id="tabela-pacientes"><br>
                    <tr class="paciente">
                        <td class="info-nome">Paulo</td>
                        <td class="info-peso">100</td>
                        <td class="info-altura">2.00</td>
                        <td class="info-gordura">10</td>
                        <td class="info-imc">0</td>
                    </tr>

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

for(var i = 0; i < pacientes.length; i ++){
console.log(pacientes[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 = document.querySelector(".info-imc");

var pesoValido = true;
var alturaValida = true;

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

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

}
if (pesoValido && alturaValida){
    var imc = peso / (altura * altura);
    tdImc.textContent = imc;
}
}
2 respostas

Olá meu amigo, tudo bem?

Então eu acredito que o problema não está no seu javascript e sim no código HTML. Se foi só isso que você escreveu a sintaxe está errada. Precisamos por um

com o
. Ai acredito que o problema será solucionado. O código Javascript não está conseguindo capturar as informações necessárias. Colocando o
ele saberá qual o cabeçalho da tabela para exibir as informações.

                <thead>
                    <tr>
                        <th>Nome</th>
                        <th>Peso(kg)</th>
                        <th>Altura(m)</th>
                        <th>Gordura Corporal(%)</th>
                        <th>IMC</th>
                    </tr>
                </thead>

Cola esse código logo acima do tbody e veja se dá certo. Qualquer coisa, vem um professor aí e resolve o problema. kkk

Abraços.

Welton, boa tarde!Onde você colocou

var imcTd = document.querySelector(".info-imc")

coloca assim:

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

Muda e vê se dá certo