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

这是形参吗?? 这段代码没怎么看懂

 $("input:eq(2)").attr('value',function(i, val){

    return '通过function设置' + val

    })


正在回答

1 回答

这里function(i,val),i是指当前元素的下标,因为$()里面只有1个元素,所以下标只能是0;

val是当前元素的当前属性(这里是‘value')修改前的值;

这里函数return xxx+val,意思是把当前元素的当前属性设置成xxx加上原来的属性值(val)

简单的例子:

HTML标签:<input value="aaa"/>
 
JS:$("input").attr('value',function(i, val){
    return 'bbb' + val
    })

然后HTML标签变成<input value="bbbaaa"/>

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

慕粉1935448701 提问者

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

慕粉1053322332

为什么这个匿名函数可以获得value的值呢,这里我还是不懂。是attr里的函数导致的吗? 比如 function wsm(x,y){ return x+y; } wsm(3,5) //=8; 这里至少是传了参数的啊?
2017-02-09 回复 有任何疑惑可以回复我~
#3

不知不觉后知后觉嗯 回复 慕粉1053322332

jQuery 方法 attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。它的val值自己就给传进去了。 http://www.imooc.com/qadetail/140295
2017-02-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这是形参吗?? 这段代码没怎么看懂

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