4
respostas

[Bug] o imc não altera com peso > 1000

const 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 pesoValido = true;
    var alturaValida = true;

    if(peso <= 0 || peso >= 700){
        console.log("peso inválido");
        pesoValido = false;
        tdImc.textContent = "Peso inválido";
        paciente.classList.add(".paciente-invalido");
    }

    if(altura <= 0 || altura >= 3.00){
        console.log("altura inválida");
        alturaValida = false;
        tdImc.textContent = "Altura inválida";
        paciente.classList.add(".paciente-invalido");

    }

    const imc = peso / (altura * altura);
    tdImc.textContent = imc.toFixed(1);
}

o valor do imc não fica "inválido" quando o peso esta >1000, no caso, eu colocoquei 700 no if. não consigo encontrar o erro no código

html `

Paulo10002.00100

            <tr class="paciente" >
                <td class="info-nome">João</td>
                <td class="info-peso">80</td>
                <td class="info-altura">1.72</td>
                <td class="info-gordura">40</td>
                <td class="info-imc">0</td>
            </tr>

            <tr class="paciente" >
                <td class="info-nome">Erica</td>
                <td class="info-peso">54</td>
                <td class="info-altura">1.64</td>
                <td class="info-gordura">14</td>
                <td class="info-imc">0</td>
            </tr>

`

4 respostas

ola, retira o . (ponto) do método classList.add deixa só (paciente-invalido)

Obrigada, Noberto! Deu certo. Mas o tdImc.textContent = "Altura inválida"; tbm não está funcionando...

que bom!!

repetiu o procedimento para altura tbm? tirou o . ? pq no trecho que trata da altura a classe tbm está com " . "

o que eu falei era outro trecho, não o da cor. agora eu certo, mas antes o console tava dando erro no querySelector, não descbri oq era, mas tá funcionando agora