关于document.getElementById("clock").value = time

来源:8-4 取消计时器clearInterval()

hong03223376190

2018-04-25 15:31

下段代码不能使文本框显示出当前电脑时间,报错Cannot set property 'value' of null。为什么像课程例子那样调用函数(把setInterval换成setTimeout)就没问题?(大概意思是都把js写在前面,为何一个会报错,一个不会)

<head>

<script type="text/javascript">

    var time=new Date();                

    document.getElementById("clock").value = time;

</script>

</head>

<body>

  <form>

    <input type="text" id="clock" size="50"  />

  </form>

</body>


写回答 关注

2回答

  • 等待彼_岸
    2018-04-25 17:19:20
    已采纳

    setInterval会先调用一次函数吧,调用函数的时候,body中input元素还没加载到,所以Cannot set property 'value' of null不能为一个不存在的元素赋值,  setTimeout是停一段时间以后才会调用函数,此时input元素已经存在.  我觉得是这样的 

    hong03... 回复等待彼_岸

    非常感谢

    2018-04-26 11:08:45

    共 6 条回复 >

  • 慕盖茨1169721
    2018-04-25 16:23:03

    这么厉害的代码,我还没看懂,让我好好明白一下意思先,一会回来告诉你。

    hong03...

    好的,谢谢

    2018-04-25 16:32:12

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题