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

链式在多li里 this没有效果了

循环的时候lis[i].onmouseover=function () {
   sport(this,'width',400, function () {

sport( this,'height',400)},function () {


   });没有效果 

正在回答

2 回答

那要怎么做才有效呢,把this改成lis[i],也不行,谢谢

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

在链式调用的时候不能使用this这个关键字,你这里的this没有效果跟this的绑定的规则有关。this的绑定规则比较复杂,建议你看一下《你不知道的javascript上卷》,这本书里有解释this的绑定问题。你这里的sport方法在第一次调用时的this的确是指向li的,这个this跟随onmouseover后的匿名函数,这个匿名函数的this指向li元素。但是第二个sport方法的调用是在第一个sport方法调用里的匿名函数中,这个匿名函数的this并不指向li标签,而是指向第一个sport方法,所以后面的调用都失败了,所以没有效果。

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

homboy

那要怎么做才有效呢,把this改成lis[i],也不行,谢谢
2016-11-30 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

链式在多li里 this没有效果了

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