Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

173
Visualizações
Cómo resolver TypeError no detectado: no se pueden establecer propiedades de nulo (configurando 'innerHTML') en printTime cuando se intenta mostrar la hora actual con JS y html

error

 function printTime() { let clock = document.getElementById("clock"); // use dom to choose a place for the clock let curr = new Date(); let currtime = curr.getFullYear() + "/" + (curr.getMonth() + 1) + "/" + curr.getDate(); clock.innerHTML = currtime; setTimeout("printTime()", 1000); } window.onload = function () { printTime(); };

Parece que la hora se muestra correctamente, pero tengo curiosidad por qué recibo este error: lab6.js: 6 TypeError no detectado: no se pueden establecer propiedades de nulo (configurando 'innerHTML') en printTime

cuando también agregué <div id="clock"></div> en el código HTML?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Creo que tu código está funcionando bien aquí

 function printTime() { let clock = document.getElementById("clock"); // use dom to choose a place for the clock let curr = new Date(); let currtime = curr.getFullYear() + "/" + (curr.getMonth() + 1) + "/" + curr.getDate(); clock.innerHTML = currtime; setTimeout("printTime()", 1000); } window.onload = function () { printTime(); };
 <div id="clock"></div>

about 4 years ago · Juan Pablo Isaza Relatório

0

En mi opinión, obtiene el error porque el elemento aún no se representa en window.onload . En su lugar, debería buscar body.onload , o en otras palabras, si configurara la llamada a printTime directamente en la etiqueta del cuerpo, funcionaría bien.

 <body onload="printTime()">

En cualquier caso, envolver printTime() dentro de una función de flecha también funciona sin el error:

 <!DOCTYPE html> <html lang="en"> <head> <title>Document</title> <script> function printTime() { let clock = document.getElementById("clock"); // use dom to choose a place for the clock let curr = new Date(); let currtime = curr.getFullYear() + "/" + (curr.getMonth() + 1) + "/" + curr.getDate(); clock.innerHTML = currtime; setTimeout("printTime()", 1000); } window.onload = () => { printTime(); }; </script> </head> <body> <div id="clock"></div> </body> </html>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda