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

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

關于addClass() 里面function的參數問題

$("div").addClass(function(index,className) {

? ? ? ? ? ? if(-1 !== className.indexOf('imooc')){

? ? ? ? ? ? ????$(this).addClass('imoocClass')

? ? ? ? ? ? }

});

function的參數:index和className好像后面都沒有出現,那還要參數干嘛?

還有這句className.indexOf('imooc')

className都不是一個對象,怎么可以怎么用?

不是應該先定義變量么? className=$('div')[i].className 然后再用for循環遍歷一下么?

正在回答

4 回答

$("div").addClass(function(index,className)這句話里面的index只是索引,根據前面的div來取值0,1,2....className是div以前的類名。w3school上面有講到的。至于indexOf,w3school里面的JavaScript部分講到可以str.indexOf("world")來判斷world是在str字符串出現的位置。

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

星星3394050 提問者

非常感謝!
2016-08-31 回復 有任何疑惑可以回復我~

className是js里的class屬性名,是專有的,并不是封裝的。

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

addClass(function(index,className){

?});其中的兩個參數index,className,前者表示索引,后者是類名,但是兩個都是形參(個人理解)你可以換成i,classN傳進去一樣有用,應該是jq內部封裝好的,一定要傳兩個參數進去,不然就會報錯。?if(-1 !== className.indexOf('imooc'))還有這句,這里的className和function(index,className)第二個參數對應,內部是有封裝的,把你傳進來的參數className定義成對象,所以可以直接拿來用了。新手理解,歡迎指正交流

3 回復 有任何疑惑可以回復我~
  1. 后面用到了className了,? if(-1 !== className.indexOf('imooc'))這不就用到了className啦?而且要想用className,必須在前面有index參數,如果沒有會默認是index,而不是className。className值得是div當前的類的名稱。

  2. indexof這個方法在字符串就可以使用的,

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

星星3394050 提問者

我覺得className是jquery封裝好的參數 因而不用獲取就可以直接使用了
2016-08-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于addClass() 里面function的參數問題

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

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

幫助反饋 APP下載

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

公眾號

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