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

$("input:eq(2)").attr('value',function(i, val){ return i+ '通过function设置' + val })传参还是不明白

     $("input:eq(2)").attr('value',function(i, val){
      return i+ '通过function设置' + val
     })

这样可以试出来i=0

这个i是怎么解释的啊?

还有直接写0也是不可以

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

正在回答

1 回答

一小时快速刷完基础一(并没有认真看,求个印象),系统推荐了你的问题,所以就去查了一下

给你参考一下我的理解

结合评论区与菜鸟教程的回答:
attr('value',function(i, val)中的i是index索引。
这点是完全没有错的。至于为什么需要使用i,或者其他英文字符,而数字会不显示
是因为JavaScript不能识别数字等开头的函数,因此它既是索引,也是函数
——该函数可接收并使用选择器的 index 值和当前属性值。
评论区有同学使用了input:eq(4),于是输出了0,1,2,3
而使用只获取一个元素的input:eq(2),输出的是0
据此我们可以推断,function(i, val)中的i,是用于接收索引的变量


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

不来方夕莉

更正一下,第四行的【函数】替换为【变量】
2018-04-03 回复 有任何疑惑可以回复我~
#2

不来方夕莉

第六行是Lt(4)
2018-04-03 回复 有任何疑惑可以回复我~
#3

feng520 提问者

非常感谢!
2018-04-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

$("input:eq(2)").attr('value',function(i, val){ return i+ '通过function设置' + val })传参还是不明白

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