问答详情
源自:8-17 编程练习

为什么document.getElementById("second")=i不能赋值?

<!DOCTYPE html>

<html>

 <head>

  <title>浏览器对象</title>  

  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   

 </head>

 <body>

  <!--先编写好网页布局-->

 <h1> 操作成功</h1>

 <br><br>

 <b id="second">5</b>秒后回到主页

 <a href="back()">返回</a>

  <script type="text/javascript">  

 function back()

 {

    window.history.back();

 }

 

 var i = 5;

 function clock(){

     i--;

     document.getElementById("second") = i;

     if (i == 1)

        window.location.href="http://www.imooc.com"

 }

 var timer = setInterval(clock,1000)

 

   //获取显示秒数的元素,通过定时器来更改秒数。


   //通过window的location和history对象来控制网页的跳转。

   

 </script> 

</body>

</html>


提问者:雪菜夹馅包 2016-08-15 17:11

个回答

  • _陌阳
    2016-08-15 17:20:11
    已采纳

    不是说给他赋值,而是应该更改里面内容的值。  你改成

    document.getElementById("second").innerHTML = i;就可以实现你想要的结果了

    我认为这里应该是改变这个B标签里面的内容,也就是说应该给B标签里面的内容赋值,如果像原来那那样单纯的给B标签赋值应该是没有意义的。  (这只是我个人见解,问题是解决了,不过我不知道我这么解释对不对)


  • 冒牌小冬瓜
    2016-11-05 11:04:29

    我也遇到了问题,加上innerHTML也不行,报错

  • 霸气小刚
    2016-08-15 17:31:12

    楼上说的都对,你要改变的是id为scend的标签里面的文本属性的值,所以要加上.innerHTML