1
resposta

Uncaught TypeError: Cannot set property 'textContent' of null , não sei o que é, pra mim isso acontece quando não coloca o script ao final do html, mas esta tudo certo, o que fazer?

<!DOCTYPE html>

Aparecida Nutrição

Meus pacientes

NomePeso(kg)Altura(m)Gordura Corporal(%)IMC
Paulo1002.00100
João801.72400
Erica541.64140
Douglas851.73240
Tatiana461.55190

//javaScript Externo window.onload = function () { var titulo = document.querySelector(".titulo"); titulo.textContent = "Aparecida Nutricionista";

var paciente = document.querySelector("#primeiro-paciente"); var tdPeso = paciente.querySelector(".info-peso"); var tdAltura = paciente.querySelector(".info-altura");

var peso = tdPeso.textContent; var altura = tdAltura.textContent;

var imc = peso/(altura*altura); var tdImc = paciente.querySelector("info-imc"); tdImc.textContent = imc; }

1 resposta

Oi Rafael, tudo bem?

Isso deveria acontecer mesmo!

Vamos refletir aqui: se o script for carregado logo no começo, o conteúdo HTML lá em baixo (do body) já foi carregado? Não!

Se o elemento não foi carregado ainda, o browser não o encontra e muito menos sua propriedade textContent. Por isso o erro fala "não consigo colocar textContent em alguém que não achei".

Por isso é recomendado sempre puxarmos o script lá em baixo mesmo, ok? Isso em 95% dos casos. Os 5% é para quando você quer bloquear o load da página por algum motivo. O Google Analytics por exemplo recomenda fazer isso (o que eu não acho bacana).

Espero ter ajudado e bons estudos!

Abcs!