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

Mesmo IMC para todos

Boa tarde pessoal, talvez minha duvida seja um tanto simples, mas nao consegui resolver.

Estudando e refazendo o codigo das ultimas aulas, tive 1 pequeno problema onde para todos os pacientes obtive o mesmo resultado de IMC (25)

Meu codigo ficou assim:

var titulo = document.querySelector(".titulo");
titulo.textContent = "Rosana pacientes";


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

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


var paciente = pacientes[i];    

//coletar os dados dos clientes
var tdPeso = document.querySelector(".info-peso");
var tdAltura = document.querySelector(".info-altura");
/* var tdGordura = document.querySelector(".info-gordura"); */
var tdImc = paciente.querySelector(".info-imc");


var peso = tdPeso.textContent;
var altura = tdAltura.textContent;
/* var gordura = tdGordura.textContent;    */



var pesoEhValido = true;
var alturaEhValida = true;

if( peso > 500 || peso < 0 ){
    console.log("peso invalido");
    tdImc.textContent = "Peso Invalido";
    pesoEhValido = false;


}

if(altura > 2.50 || altura < 1.00){
    console.log("Altura Invalida");
    tdAltura.textContent = "Altura Invalida";
    pesoEhValido = false;
}

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



}

};

Obrigado!

2 respostas
solução!

Olá Luis,

É que você está pegando os elementos td do document e não do paciente.

Isso aqui pega todas as tds do document:

var tdPeso = document.querySelector(".info-peso");

Isso aqui pega as tds dentro do elemento paciente:

var tdPeso = paciente.querySelector(".info-peso");

Obrigado Diego, ja imaginava q fosse algo besta assim que passou despercebido! Muito obrigado =)