1
resposta

O for apenas calcula o primeiro paciente

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

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

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

var paciente = paciente[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 imc = peso / (altura*altura);
tdimc.textContent =imc;
}

Verifiquei o restante do fórum, mas não encontrei a resposta para a minha dúvida.

Observação: Quando substituo "paciente" por "paciente[i]" no querySelector o problema é resolvido, porém não sei o porquê da equivalência de variáveis (var paciente = var paciente[i]) não funcionar.

1 resposta

Olá, vc precisa criar uma variável com um nome diferente da classe "paciente" para que o array "paciente" seja atribuído a esta nova variável.

Tente da forma como foi elaborado no curso. Eu fiz o teste e funcionou.

var pacientes =document.querySelectorAll(".paciente")
for (var i = 0; i < pacientes.length; i++){
var paciente = pacientes[i];

Ah, não esqueça de também de adicionar o método "toFixed(2)" no resultado do IMC para que apresente apenas 2 casas decimais.

var tdimc = paciente.querySelector(".info-imc");
var imc = peso / (altura*altura);
tdimc.textContent = imc.toFixed(2);