innerHTML = Date()在小提琴中工作,但不在Chrome或IE中

时间:2013-11-18 13:43:17

标签: javascript html google-chrome jsfiddle

所以我决定使用JavaScript和HTML随机创建更新时间和日期元素。代码如下:

HTML

<!DOCTYPE html>
<html>
<head>
<script src="timer.js"></script>
</head>
   <body>
    <span id="time"></span>
   </body>
</html>

的JavaScript(timer.js)

var e = document.getElementById("time");
window.onload = setInterval(
    function () { 
       e.innerHTML = Date();
},
    1000);

它适用于此JSFiddle,但在我使用谷歌浏览器加载HTML时尤其如此,尤其是在使用IE浏览器时不起作用。有谁知道那是为什么?这更像是一个好奇心而不是编码问题。感谢您的反馈!

1 个答案:

答案 0 :(得分:5)

setInterval不返回函数。它会返回一个ID,您可以在以后取消它。 getElementById也位于其之外,因此只返回null,因为该元素在尝试获取时尚未加载。固定代码:

window.onload = function() {
    var e = document.getElementById("time");
    setInterval(function() { 
       e.innerHTML = Date();
    }, 1000);
}