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

Cannot set property 'innerHTML' of null

var d = new Date();

document.getElementById('mes').innerHTML = d.getMonth();

Galera alguem pode me ajudar com esse erro? No HTML eu já criei o elemento com o id "mes".

3 respostas
solução!

Fala ai Fernando, tudo bem? Vamos lá:

Galera alguem pode me ajudar com esse erro? No HTML eu já criei o elemento com o id "mes".

Estranho, se no momento que esse código JavaScript foi executado existisse um elemento com o id igual à mes o mesmo deveria funcionar.

Verifique novamente o HTML e o elemento que tenha esse id, talvez ele possa ter algum problema.

Outro detalhe, o JS está sendo carregado no final do body? Assim a página estará montada e esse elemento irá existir no DOM.

Caso o JS esteja sendo executado antes da página/DOM estarem prontos, ele pode dar problema (como está dando).

Espero ter ajudado.

E aí Matheus. Testei em outro documento sua dica de linkar o external file no final do body e funcionou normalmente. Mas nesse documento principal que eu estou tentando parece que está dando algum tipo de conflito e ele não reconhece o elemento no HTML. Botei o codigo inteiro aqui... é meio aleatorio pq estou testando coisas novas.

function date(){
    document.getElementById('demo').innerHTML = Date();
}

/*-----------------------------------------------------------------------*/

function acender(){
    document.getElementById('lampada').src = '../Imagens/acesa.jpg';
}

function apagar(){
    document.getElementById('lampada').src = '../Imagens/apagada.jpg';
}

/*-------------------------------------------------------------------------*/

function alerta(){
    window.alert('ALERTA');
}

/*-----------------------------------------------------------------------------*/

var carro = {marca: "BMW", modelo: "X7", ano: 2020, cor: "Preto"};

function car(){
    document.getElementById('demo2').innerHTML = "Carro da marca " + carro.marca + " modelo " + carro.modelo + " ano " + carro.ano + " cor " + carro.cor;
}

/*------------------------------------------------------------------------------------*/
var d = new Date();

document.getElementById('mes').innerHTML = d.getMonth();

Fala Fernando, você precisa ver qual linha do arquivo .js está dando erro, ou seja, qual elemento ele está tentando buscar e não foi achado.

Uma vez que você pegou a linha com o erro, você pode verificar no momento que deu o erro se existe esse elemento na página.

Tente fazer a mesma busca no próprio console do navegador, só copiar seu código e jogar lá.

Se ele não retornar nada, você já sabe que o elemento não deve existir ou deve estar com algum id diferente.

Espero ter ajudado.