$("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)
2018-04-03
一小時快速刷完基礎一(并沒有認真看,求個印象),系統推薦了你的問題,所以就去查了一下
給你參考一下我的理解
結合評論區與菜鳥教程的回答: 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,是用于接收索引的變量