$("input:eq(2)").attr('value',function(i, val){
return i+ '通过function设置' + val
})
这样可以试出来i=0
这个i是怎么解释的啊?
还有直接写0也是不可以
$("input:eq(2)").attr('value',function(0, val)
一小时快速刷完基础一(并没有认真看,求个印象),系统推荐了你的问题,所以就去查了一下
给你参考一下我的理解
结合评论区与菜鸟教程的回答: 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,是用于接收索引的变量