Olá, estou com a seguinte dúvida no código. Fiz um outro arquivo .js para a função de montar o paciente, porém ao rodar ele da o erro calcula-imc.js:8 Uncaught TypeError: Cannot read property 'calculaImc' of undefined. Não consigo achar o problema. No arquivo index coloquei
<script src="montaPaciente.js"> </script>
<script src="calcula-imc.js"> </script>
Meu arquivo monta Paciente é:
function montaPaciente(pacienteTr){
var paciente = {
nome : pacienteTr.getElementsByClassName("info-nome")[0].textContent,
peso : pacienteTr.getElementsByClassName("info-peso")[0].textContent,
altura : pacienteTr.getElementsByClassName("info-altura")[0].textContent,
calculaImc : function(){
if(this.altura != 0){
var imc = this.peso / (this.altura * this.altura);
console.log("O imc calculado para o paciente de altura " + this.altura+" e de peso " + this.peso +" é:"+ imc); // imprime o imc
return imc;
}else{
console.log("Erro: Altura igual a 0");
return "ERRO";
}
}
};
}
Meu arquivo calcula-imc.js
console.log("Pegando os dados dos pacientes")
var pacientesTr = document.getElementsByClassName("paciente");
console.log("Dados coletados!");
for(var posicao = 0; posicao <= pacientesTr.length-1; posicao++){
var pacienteTr = pacientesTr[posicao];
paciente = montaPaciente(pacienteTr);
imcHtml = pacienteTr.getElementsByClassName("info-imc")[0];
imcHtml.textContent = paciente.calculaImc();
}