亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于jq中attr(name,function(index,val){})方法中index的疑問

????<form>
????????<input?type="text"?value="設置value"?/>
????????<input?type="text"?value="獲取value"/>
????????<input?type="text"?value="回調拼接value"?/>
????????<input?type="text"?name="test"?value="刪除value"?/>
????</form>
<script?type="text/javascript">
????//找到第三個input,通過使用一個函數來設置屬性
????//可以根據該元素上的其它屬性值返回最終所需的屬性值
????//例如,我們可以把新的值與現有的值聯系在一起:
????$('input:eq(2)').attr('value',function(i,?val){
????return?i//'通過function設置'?+?val
????})
????</script>

代碼如上


資料上說attr(name,function(index,val){})中index是指選中元素在同級元素的index值 ? 但上面這個例子里這個input的index不應該是2么 為什么返回的是0?

正在回答

2 回答

所以第一種情況i=0;第二種情況i= 0 1 2 3 ,input:eq(2)的i=2;第三種情況i=0 1 2,input:eq(2)的i=1;

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

sytkess 提問者

好的 謝謝 我明白了
2016-12-11 回復 有任何疑惑可以回復我~

這個我剛才試了一下,這個i的值應該是$('input:eq(2)')中input:eq(2)的索引值。但是!如果你把其他元素一并放進來的話,像$('input:eq(2),input:eq(1),input:eq(3),input:eq(0)')這樣,就算你亂它們的本來順序,返回的i也是按他們實際的索引號來排的。再但是!上面是4個都引用了,如果你只添加一部分,像$('input:eq(2),input:eq(1),input:eq(3)')這樣,情況有又不一樣了,返回的值是這三個按實際的排序方式下的新數組的索引號。



總結起來就是,返回i的這個索引號,是按他們實際排序的情況,結合你所查找的元素,新生成另一個數組(就是$(按實際索引排序的新數組--就算打亂順序查找也不會影響排序)),這個新數組的索引號就是i,不知道這么說你明白不明白~

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

慕粉4340077

這個知識是不是在wacschool中學的?慕課網這方面講的比較籠統,很多知識都忽略了,當然我喜歡慕課網的頁面風格,一面講解一面練習。
2016-12-18 回復 有任何疑惑可以回復我~
#2

自律讓人自由4008941 回復 慕粉4340077

這是我自己試的。。。慕課最多就是帶你過一遍,其實學完沒什么用,還有很多東西要自己補,我現在感覺就是什么也不會,但又快學完了
2016-12-18 回復 有任何疑惑可以回復我~
#3

qq_謎離_03319966 回復 自律讓人自由4008941

attr(name,function(0,val){}) 這里我直接讓index=0 但是 val卻無法得到當前值呢
2016-12-19 回復 有任何疑惑可以回復我~
#4

自律讓人自由4008941 回復 qq_謎離_03319966

你可以F12打開控制臺 自己看報錯 這里的意思i代表的是一個變量 function(i,val){} 的意思是傳入一個變量i 你可以把i改成其他任何字母a b c隨你喜歡 他的意思不變 但是變量第一個字符必須是字母、下劃線、美元符 你這相當于直接傳了個值進去 相當于我給你個空戶口本 告訴你可以怎么填 但我直接給你個填了名字的戶口本給你 你能認么 你把0改成_0變成變量 傳參 就么沒問題了
2016-12-19 回復 有任何疑惑可以回復我~
查看1條回復

舉報

0/150
提交
取消

關于jq中attr(name,function(index,val){})方法中index的疑問

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號