錯誤
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();
};
似乎時間顯示正確,但我很好奇為什么會出現此錯誤:lab6.js:6 Uncaught TypeError: Cannot set properties of null (setting 'innerHTML') at printTime
當我還添加
<div id="clock"></div>了 HTML 代碼時?
uj5u.com熱心網友回復:
我認為你的代碼在這里作業正常
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>
uj5u.com熱心網友回復:
在我看來,您會收到錯誤訊息,因為該元素尚未在window.onload. 相反,您應該尋找body.onload,或者換句話說,如果您將呼叫設定為printTime直接在 body 標簽中,它會正常作業。
<body onload="printTime()">
在任何情況下,將printTime()箭頭函式包裹在內部也不會出現錯誤:
<!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>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334954.html
標籤:javascript html
