在这段js里,this代替的是哪个变量?为什么不能用li[i]替换?
this.className = "on";//再对点击事件添加相应的属性 div[this.index].className = "";//通过之前的index编号绑定的指定div
主要是这两句搞不明白。如果写成li[i],就丝毫没有效果,这是为什么呢?这里的this有什么奥妙?相当困惑。求解答
2016-03-25
this的的用法非常灵活,但在函数里面一般都是表示指触发这个最里层函数的元素,就好比这个题目,当你点击<li>元素时就会触发这个函数,那么this就是指获取了<li>这个元素的类名。this.className = "on";就是是指当前被点击(或移动触发“onmouseover”)的这个<li>元素的类名为“class="on"被调用”
div[this.index].className = "";这个中的【this.index】中的this是一样的意思,指这个<li>元素的索引指是多少。通俗点讲就是说你点击的是第几个<li>元素。也就是说第一个点的<li>对应的this.index索引值是0,第二个是1,第三个是2.那么对应的div是div【0】,div【1】,div【2】。打字不是很快,就写这么多了。有不懂的可以再问哦。希望能帮到你。。
this的的用法非常灵活,但在函数里面一般都是表示指触发这个最里层函数的元素,就好比这个题目,当年点击<li>元素是就会触发这个函数,那么this就是指获取了<li>这个元素。this.className = "on";就是是指当前被点击(或移动触发onmouseover)的这个<li>元素的类名为“class="on"被调用”
div[this.index].className = "";这个中的【this.index】指这个<li>元素的索引指是多少。通俗点讲就是说你点的是第几个<li>元素。也就是说第一个点的<li>对应的this.index索引值是0,第二个是1,第三个是2.那么对应的div是div【0】,div【1】,div【2】。打字不是很快,就写这么多了。有不懂的可以再问哦。希望能帮到你。。。
举报