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

在javascript代码中设置的btn[i].abcd=i;adiv[this.abcd].style.display="block";这个abcd的含义我不太懂

在javascript代码中设置的btn[i].abcd=i;adiv[this.abcd].style.display="block";这个abcd的含义我不太懂

Youruncle 2016-08-02 10:51:21
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #div1  div{ background: blue; width: 300px; height:300px; display: none; } .butt{ background: yellow; } </style>   <script type="text/javascript"> window.onload=function(){ var odiv=document.getElementById("div1"); var btn = document.getElementsByTagName("input"); var adiv=odiv.getElementsByTagName("div"); for (var i = 0;i<btn.length;i++) { btn[i].abcd=i; btn[i].onclick=function(){ for (var j = 0;j<btn.length;j++) {    btn[j].className=""    adiv[j].style.display='none' } this.className="butt" adiv[this.abcd].style.display="block"; } } } </script> </head>     <body> <div id="div1"> <input type="button" name="" id="" value="出国" class="butt"  /> <input type="button" name="" id="" value="旅行" /> <input type="button" name="" id="" value="学习" /> <input type="button" name="" id="" value="吃饭" /> <div class="" style="display: block;">111</div> <div class="">2222</div> <div class="">33334</div> <div class="">44444</div> </div> </body></html>
查看完整描述

3 回答

?
一杯2块的奶茶

TA贡献226条经验 获得超75个赞

他这是用来记录当前这个i的,因为他点击之后他把所有的classname变成了"",同时div隐藏,但是一个input是对应一个div的,这时当前div需要显示,他就要记录当前这个i,这应该是给他加了自定义的属性吧。都是经验问题,代码见的多了,就懂很多套路啦。

查看完整回答
1 反对 回复 2016-08-02
?
刚毅87

TA贡献345条经验 获得超309个赞

因为 点击事件是在 for 循环走完之后才执行的,所以 i= btn.length;

因此,需要记录i 值,btn[i].abcd=i;这句话就起到了这个作用.

查看完整回答
1 反对 回复 2016-08-02
  • Youruncle
    Youruncle
    不明白
  • 刚毅87
    刚毅87
    因为 for 循环的作用是给每个 li 添加鼠标移入事件,在页面加载的时候就 for 循环完成了,所以在执行鼠标移入事件时, i = mli.length, 而很显然 mli[mli.length] 不存在,所以此时就需要记录 i 值.
?
nickylau82

TA贡献128条经验 获得超67个赞

这谁写的啊,也是醉了

查看完整回答
反对 回复 2016-08-02
  • 3 回答
  • 0 关注
  • 2572 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信