经测试,一个是索引值,一个是原来的属性值,但两个参数是什么时候定义的啊,可以直接拿过来就可以有值
$("input:eq(2)").attr('value',function(i, val){
return '通过function设置' + val
})
是这样的当调用$('input:ep(2)')后就会生成一个input[]数组里面只会包含第三个input,里面只有一个值,所以后面的i的值并不是楼上各位说的那个下标,而是后面的数组的那个下标,你可以使用:It()这个去试试,因为他可以选择多个input
function(i,val)回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值;i的意思:被选元素input当前下标是3,也就是选input中的第三个,所以i为3.val为原来的值也就是value="删除value" 。这样就理解了,对了这两个参数的写法是固定的,(i,val)而不是(x,x)。这样看是不是清楚多了
$("input:eq(2)").attr('value',function(i, val){
return '通过function设置' + val
}) value的值传给了val index只是相当于下标 $("input:eq(2)")调用的function