点击回车选取当前li内容给title

来源:5-1 编程挑战

kelvinwong

2016-03-25 11:03

看到那段:

if(event.keyCode==13){

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

 as[i].style.background = '#fff';

}

title.innerHTML = as[index].innerHTML;

menu.style.display = 'none';

我看了好久都不明白为什么要用as[index]就能选到当前所在的li项,按我的代码写法的话,index的值应该只有继承了开头声明的index=-1才对啊?

而如果我把as[index]改为as[i]放到for循环里面,无论我怎么选,最后都会选择li的最后一项,搞不懂。

请大神指点!

写回答 关注

1回答

  • 慕仔7676644
    2016-03-25 11:28:20

    因为i在这里是一个局部变量,变量i只在for循环里面存在。而title.innerHTML = as[index].innerHTML;这一句代码是在for循环的外面,所以改为as[i]的话是找不到i这个变量的,也就无法定位选取li里的内容。

    慕仔7676... 回复kelvin...

    我也是刚看没多久的,但我认为,这里的i的作用并不是准确指定某个选项的具体位置,而是我这个数组里有多少个元素的总数。index之所以能够指定位置是因为它本身的功能,index属性可返回下拉列表中选项的索引位置。这是我结合键盘事件那三代码重复看了几次得出的结论,虽然不知道对不对,但是我觉得这样的理解可以让我稍微清楚一些...

    2016-03-25 14:03:32

    共 2 条回复 >

DOM事件探秘

DOM事件?本课程会通过实例来给小伙伴们讲解如何使用这些事件

99544 学习 · 1197 问题

查看课程

相似问题