为了账号安全,请及时绑定邮箱和手机立即绑定

请问 我的代码有何问题?


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定时器</title>
<script type="text/javascript">
  var attime;
  function clock(){
    var time=new Date();          
    attime = time.getHours()+":"+time.getMinutes()+":"+time.getSeconds() ;
   // document.write(attime);
    document.getElementById("clock").value = attime;
  }
  setInterval(clock(),1000);
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
</form>
</body>
</html>

浏览器出错提示是 :Uncaught TypeError: Cannot set property 'value' of null 第11行 document.getElementById("clock").value = attime;

正在回答

3 回答

你 document.getElementById("clock")写太前了,那时DOM树还没解析,还没有id为clock,只要把代码放在input标签后面就不会报错了。

0 回复 有任何疑惑可以回复我~
#1

Follower_1 提问者

非常感谢!
2015-09-08 回复 有任何疑惑可以回复我~

setInterval(clock,1000),忽略了后面有一个延迟,那时候已经加载完成,多谢了

0 回复 有任何疑惑可以回复我~

如此看,js进阶篇,url http://www.imooc.com/code/1023 ,的作业代码需要调整位置?


0 回复 有任何疑惑可以回复我~
#1

kingry

终于自己发现问题了,上面的同学出于好心,但是确实误导了别人。 调用函数格式(假设有一个clock()函数): setInterval("clock()",1000) 或 setInterval(clock,1000) 你代码的问题请自己找,只能帮你到这里。
2015-09-10 回复 有任何疑惑可以回复我~
#2

redRibbon 回复 kingry

感谢!!!!
2015-10-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问 我的代码有何问题?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信