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

oLis[i].index

参考代码里:oLis[i].index = i;和oDivs[this.index].className = "";是什么意思?

正在回答

7 回答

第一句:给oLis中的所有元素设置一个索引值,便于查找

第二句:设置oDivs中的this.index元素中的className为空

this.index就是你所点击li元素的索引所对应的div元素

10 回复 有任何疑惑可以回复我~
#1

xynicai 提问者

非常感谢!
2015-01-23 回复 有任何疑惑可以回复我~
#2

thenger

oLis[i]本身不就是一个数组么,为什么还要为元素设置索引值
2015-02-21 回复 有任何疑惑可以回复我~
#3

a746785570 回复 thenger

我也是这么认为。。非常困惑。
2015-03-08 回复 有任何疑惑可以回复我~
#4

weibo_Saber夜斗_0

好人啊
2015-05-28 回复 有任何疑惑可以回复我~
查看1条回复
oLis[i].index = i;//这里的index是oLis[i]的自定义属性,用来保存该元素在原数组中的下标

引自火火慕

你不加的话没办法获取数组元素的角标啊,可能是因为数组中没有一个源属性比如index,你编写 
数组元素.index
就自动获得元素角标。

这样是不是可以解释得通了?

1 回复 有任何疑惑可以回复我~

楼上讲解很详细,谢谢!

1 回复 有任何疑惑可以回复我~

上面说得很详细了,原本就不明白,数组后面咋整了个index属性,看其他同学笔记,说“oLis[0].index = i 是自定义 index”,为以后的操作做准备,实现功能楼上说得很详细了。若是如此解释的话,后面就懂了

1 回复 有任何疑惑可以回复我~

  因为页面一旦加载完成就触发onload事件,而onclick事件触发之前,for(var i= 0,len = oLis.length;i<len;i++)这个循环已经运行完成了!oLis[i].onclick = function()这段代码只是挂在那里(挂这个词不怎么准确,意思放在那里,等待onclick事件触发),这时候的i=3.在oLis[i].onclick = function()之前document.writeln(i)你会发现输出012,说明循环已经完成.
   oLis[i].index = i 的作用只是在循环的过程中绑定下标i(0 1 2)到oLis数组相应元素oLis[0] oLis[1] oLis[2]的index变量上(例如oLis[0].index = 0;oLis[1].index =1;oLis[2].index=2)

   当onclick事件触发的时候,this.className中的this就是当前鼠标所在的元素(例如家居), 同时oDivs[this.index]会获取到家居所对应的oLis数组中的index值(这里是1,因为我们已经在完成的循环中将oLis[1]=1 了),而如果换成oLis[i]则因为i===3(恒等于3),所以oLis[i]===oLis[3],当然会出错了!建议好好看一下JS的闭包原理和事件机制!

49 回复 有任何疑惑可以回复我~
#1

JJLoveJJ

谢谢大师
2015-07-23 回复 有任何疑惑可以回复我~
#2

小雨君

太厉害啦,谢谢大师
2015-10-17 回复 有任何疑惑可以回复我~
#3

慕无忌7023775

就是oLis[i].index = i; 里面的index可以更换么?我试了下 可以换的
2016-01-27 回复 有任何疑惑可以回复我~
#4

慕无忌7023775

错了 现在看 是错了
2016-01-28 回复 有任何疑惑可以回复我~
#5

Htttttt

zan+
2016-07-13 回复 有任何疑惑可以回复我~
#6

慕粉18764815087 回复 慕无忌7023775

可以换
2016-07-31 回复 有任何疑惑可以回复我~
#7

qq_秋_枫__0

感谢!
2017-05-16 回复 有任何疑惑可以回复我~
#8

Younson_24

回答得好!!谢谢大神
2017-07-19 回复 有任何疑惑可以回复我~
查看5条回复

把i的值储存到index中,在oDivs[this.index].className = "";这句中this.index的值是当前鼠标所在的元素,oLis[i].index = i;的意义是可以让this.index获取任意一个index值

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

oLis[i].index

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信