Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 4 da Aula 6 - Eventos

Ola, no codigo abaixo:

function calculaTodosImcs() {

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

precorreArray(trsPacientes, function (pacienteTr){

var tdNome = pacienteTr.getElementsByClassName("info-nome")[0]; var tdPeso = pacienteTr.getElementsByClassName("info-peso")[0]; var tdAltura = pacienteTr.getElementsByClassName("info-altura")[0];

var pacienteAtual = { nome : tdNome.textContent, peso : tdPeso.textContent, altura : tdAltura.textContent, pegaImc: function() {

if(this.altura != 0){ var imc = this.peso / (this.altura * this.altura); return imc; } else{

console("Não posso dividir por zero!"); } } };

var imc = pacienteAtual.pegaImc();

var tdImc = pacienteTr.getElementsByClassName("info-imc")[0]; tdImc.textContent = imc;

console.log(imc); }); //muito cuidado pra não esquecer de fechar aqui a chamada da função }

var botao = document.getElementsById("calcula-imcs");

botao.onclick = calculaTodosImcs;

A saida do evento do botao esta dando erro. No entanto, o codigo esta identico ao do professor...

Erro: calcula-imc.js:39 Uncaught TypeError: document.getElementsById is not a function

PS: se eu chamo a funcao direto do html funciona.

Alguem?

1 resposta
solução!

Você fez: document.getElementsById

Acho que o certo é document.getElementById, um elemento HTML só pode ter um id, portanto, seria no singular.