Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

175
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!