Boa tarde, eu estava fazendo esse exercício de uma forma diferente então ao olhar a resposta eu comecei a ver como funcionava do jeito do Leonardo e está tudo funcionando. Mas está retornando um erro no javascript: Uncaught TypeError: Cannot read property 'getElementsByClassName' of undefined na linha 54.
function montaPaciente(pacienteTemp){
var nome = pacienteTemp.getElementsByClassName("info-nome")[0].textContent;
var peso = pacienteTemp.getElementsByClassName("info-peso")[0].textContent;
var altura = pacienteTemp.getElementsByClassName("info-altura")[0].textContent;
var paciente = {
"nome" : nome,
"peso" : peso,
"altura" : altura,
pegaImc : function(){
if (this.altura != 0){
return peso / (altura * altura);
// console.log(imc) // 25
}else {
console.log("Não se pode ter altura igual a 0");
}
}
};
return paciente;
}
var trsPacientes = document.getElementsByClassName("paciente"); //array de trs
//var pacientes = document.getElementsByClassName("paciente");
for(var posicaoAtual = 0; posicaoAtual <= trsPacientes.length; posicaoAtual++){
var trDoPaciente = trsPacientes[posicaoAtual];
var trDoImc = trDoPaciente.getElementsByClassName("info-imc")[0]; //LINHA DO ERRO
var paciente = montaPaciente(trDoPaciente);
var imc = paciente.pegaImc();
trDoImc.textContent = imc;
console.log(imc);
}
Mesmo com o erro o código funciona e coloca os imcs corretos na tabela. Mas como eu posso retirar esse erro?