4
respostas

Aula 5 video 3 em vez do imc aparece o codigo do pega imc no td

_ Arquivo paciente.js_

function paciente(pacienteTr){
var tdNome = pacienteTr.getElementsByClassName("info-nome")[0];
var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0];
var tdAlt = pacienteTr.getElementsByClassName("info-altura")[0];
var tdImc = pacienteTr.getElementsByClassName("info-imc")[0];

var paciente = {nome:tdNome.textContent, 
                  peso:tdPeso.textContent, 
                  alt:tdAlt.textContent,
                  pegaImc: function(){
                            if(this.alt != 0){
                              var imcX = (this.peso/(this.alt*this.alt));
                             return imcX; 
                            }else {
                              console.log("Altura não possivel");
                            }
                          }
                };
                var imc = paciente.pegaImc;
  tdImc.textContent = imc;
  console.log(paciente.pegaImc);
}

_Arquivo calcula-imc.js__

var trPacientes = document.getElementsByClassName("paciente");


percorreArray(trPacientes,function(pacienteTr){

paciente(pacienteTr);

});
4 respostas

Oi David, desculpa, mas não entendi seu tópico bem. Sei que o título parece bem explicativo, mas um texto explicando melhor nos dá mais certeza do que quer relatar.

É um problema na aula? Gostaria apontar alguma correção? De ante mão, já estarei repassado seu tópico pra alguém que possa lidar diretamente com o suposto problema.

Desde já, obrigado!

Bom Wanderson o resultado do calculo do IMC não está aparecendo na coluna do imc dos pacientes, o que aparece como resultado nessa coluna é a function:

function(){
    if(this.alt != 0){
        var imcX = (this.peso/(this.alt*this.alt));
        return imcX; 
    }else {
        console.log("Altura não possivel");
    }
}
};

Como assim? A função está sendo impressa na página? É isso?

Dadiv, faz o seguinte, faz um zip do projeto e me manda no email pra mim dar uma olhada rápida nele por completo, pode ser? Manda aqui: wanderson.sabino@alura.com.br

Olá David,

O problema é simples, falta abrir e fechar parênteses, afinal "pegaImc" é uma função:

var imc = paciente.pegaImc();

;)