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

executar o laço for

Olá! Não estou conseguindo executar o for, não aparece os outros IMCs apenas o primeiro...

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



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



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


    var paciente=pacientes[i];

    var paciente = document.querySelector("#primeiro-paciente");

    var tdAltura = paciente.querySelector(".info-altura");
    var tdPeso = paciente.querySelector(".info-peso");
    var tdImc = paciente.querySelector(".info-imc");


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

    var alturaEhValida = true;
    var pesoEhValido = true;

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

    }

    if (altura <= 0 || altura >= 3) {
        console.log("Altura inválida!");
        tdAltura.textContent = "Altura inválida!";
        tdimc.textContent = imc.toFixed(2);
        alturaEhValida = false;
    }

    if (alturaEhValida && pesoEhValido) {

        var imc = peso / (altura * altura);
        tdImc.textContent = imc;

    }else {

        tdImc.textContent = "Altura e/ou peso inválidos!";
    }

}    
3 respostas
solução!

Fala ai Rogers, tudo bem? Acho que o problema está no momento onde é buscado o primeiro paciente:

var paciente=pacientes[i];
var paciente = document.querySelector("#primeiro-paciente");

Repare que o nome das variaveis é o mesmo, sendo assim, o seu for está sempre trocando o paciente atual à ser iterado pelo primeiro.

Tente não buscar o primeiro ou caso precise dele para alguma lógica mude o nome da variable ao qual ele é referenciado:

var paciente=pacientes[i];
var primeiroPaciente = document.querySelector("#primeiro-paciente");

Ou não busque o mesmo:

var paciente=pacientes[i];

Espero ter ajudado.

Oi Matheus! Obrigado! Era isso mesmo, eu apaguei essa variável do código e deu certo, Valeu!

Magina Rogers, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.