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

li[i].index =i; index这个东西没太懂 和 整个div[this.index]

li[i].index =i; index这个东西没太懂 和 整个div[this.index]

qq_佐为_03686506 2017-04-12 02:14:41
window.onload=function(){  var tab = document.getElementById("tab-list");  var li = document.getElementsByTagName("li");  var div = tab.getElementsByTagName("div");  for(var i=0;i<li.length;i++){    li[i].index = i; li[i].onmouseover = function(){  for(var i=0;i<li.length;i++){    li[i].className="";  }  this.className = "active";   for(var j=0; j<li.length; j++){ div[j].className="hide";  }  div[this.index].className = "show"; }  }}  问题:  该怎么理解div[this.index]         例如点击的是第一个li 就是 div[li[0].index]是吧?    index属性不懂 div[0]指的是div数组第一个div   但是 div[this.index] 是什么鬼 怎么理解this.index 例如指第一个li    div[li[0].index]  绕死我了。 
查看完整描述

1 回答

已采纳
?
ruibin

TA贡献358条经验 获得超213个赞

li是一个对象,index是他的属性,在最开始已经赋值了。所以li[0].index的值为0.

 for(var i=0;i<li.length;i++){

    li[i].index = i;

}这里赋值的。div[li[0].index]简化一下就是div[0]


div[this.index]是什么意思呢。看看这个li[i].onmouseover这里this指的什么this就是当前的li啊。所以这里的this.index并不是指第一个li而是指你点击的li。你点击第三个,那就是第三个li,第二个就是第二个li。当然如果你正好点击的第一个,那就是第一个li罗。

查看完整回答
1 反对 回复 2017-04-12
  • qq_药药_0
    qq_药药_0
    有个疑问请教一下,为什么div[i]和div[ li[i].index]这两种写法是错的’
  • 1 回答
  • 2 关注
  • 1219 浏览
慕课专栏
更多

添加回答

举报

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