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

请教一下大神几个问题

<!DOCTYPE html>
<html>
 <head>
  <title>浏览器对象</title>  
  <meta http-equiv="Content-Type" content="text/html; charset=gkb"/>   
 </head>
 <body>
  <!--先编写好网页布局-->
  <h1>操作成功</h1>
  <span id="seconds">5</span><a>秒后回到主页</a>
  <b href="javascript:back();">返回</b>
  
  <script type="text/javascript">  
 var sd=document.getElementById("seconds").innerHTML
 function clock(){
    sd--
    document.getElementById("seconds").innerHTML=sd
     if(sd==0){
         location.assign("http://www.imooc.com")
     }
 }
 setInterval(clock,1000)
   //获取显示秒数的元素,通过定时器来更改秒数。
function back(){
    window.history.back()
}
   //通过window的location和history对象来控制网页的跳转。
   
 </script> 
</body>
</html>

为啥我看别人的返回都是蓝色加下划线的,而我的返回是黑色的还点击不了?

还有就是innerHTML提取的内容不是字符串类型的吗 怎么可以直接运算呢?

提问者:Scny 2015-12-16 17:52

个回答

  • 李晓健
    2015-12-16 18:15:04
    已采纳

    因为人家的 返回是放到 <a> 里面,你是放到 <b> 里面,所以人家的蓝的 你的是黑的。

    因为js在做运算时会自动做类型转换,减法时直接用字符串会转成数字,但加法时就要自己转了,因为字符串也是可以相加(拼接)的。

  • lynhao
    2015-12-16 18:17:01

    蓝色加下划线的,而我的返回是黑色的还点击不了?楼主大概懂你意思,这个可能跟你的编译器有关,至于点不了就不知具体指什么~

     var sd=document.getElementById("seconds").innerHTML是指获取span的值,也就是默认是5~,获得sd后js机制会默认帮你转化成整型,这个是底层实现的,你要强转也可以parseInt