Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 5 da Aula 3 - Conhecendo o DOM e organizando nosso código com objetos

quando coloco

... var peso = document.getElementById("peso-1"); var altura = document.getElementById("altura-1"); var pessoa = {peso:peso.textContent, altura:altura.textContent};

if (pessoa.altura > 0) {

var imc = pessoa.peso / (pessoa.altura * pessoa.altura);

console.log(imc);

} else { console.log("Não posso executar uma divisão por 0!"); } ...

recebo no chrome

calcula-imc.js:1Uncaught TypeError: Cannot read property 'textContent' of null

o que posso estar fazendo de errado?

5 respostas

Bom dia Marcelo Bento!

Quando você chama a função document.getElementById() procurando pelos ids peso-1 ou altura-1, a função não encontra estes elementos no seu html, então ela retorna null.

Verifique se os elementos do seu index.html estão com os ids corretos.

Abraço, bons estudos!

solução!

Obrigado Phelipe, deu certo. O erro era por conta do import da função estar no início do HTML.

Não entendi. O meu esta dando o mesmo erro e os ids estão corretos.

Como assim o import estar no inicio da função?

Eduardo, se o import do script estiver no início do html, quando você procurar o elemento, ele não terá sido renderizado no DOM ainda, então não será encontrado pela função document.getElementById().

É isso mesmo Phelipe, em outro tópico me falaram a mesma coisa. Mudei aqui e deu certo. Obrigado :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software