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

<!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>


Youruncle
浏览 2573回答 3
3回答

一杯2块的奶茶

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

刚毅87

因为 点击事件是在 for 循环走完之后才执行的,所以 i= btn.length;因此,需要记录i 值,btn[i].abcd=i;这句话就起到了这个作用.

nickylau82

这谁写的啊,也是醉了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript