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

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

.text( function(index, text)和.html( function(index, oldhtml) )的用法

$(".left?a:first").text(function(index,text){
????return?'增加新的文本內容'?+?text
?})

這里面的function怎么理解???匿名函數沒有傳入參數,那么函數返回的值增加的text是什么呢?沒有傳入index參數,難道index是js或jQuery的關鍵字?


正在回答

4 回答

應該先去了解一下什么是回調函數,回調函數不是我們自己調用的,而是在運行過程中程序自動調用的.舉個例子,一個點擊事件,鼠標點擊一下,程序會調用一個方法,方法里面有幾個參數,其中鼠標的x,y軸位置,這都是程序自動跳上去的,程序自動調用函數,自動把參數填上。這里也是,這個匿名函數你根本沒有調用,index和text都是程序自己填上的。

http://img1.sycdn.imooc.com//58b8f7680001ed3111220261.jpg

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

JohnieXu 提問者

非常感謝!
2017-03-03 回復 有任何疑惑可以回復我~

?$(".left a:first").text(function(idnex,text){

? ? ? ? ? ? return '增加新的文本內容' + text

? ? ? ? });

這里的index 其實就是下標 簡單的來說就是在哪個地方開始新增內容 但是 為什么是在第二個盒子里面 新增了內容了 ?其實你好好想一想 你就會發現的是 ?第一個盒子的子節點 都已經被替換成html的元素了 ?而這里的需求是增加內容 ?所以和元素毫無關系 ?接著程序就會往下運行 找到第二個盒子 這時就增加成功了 ? 如果不相信的朋友可以先把$(".left div:first").html('整個div的子節點都被替換了')這句話先注釋了 ?運行看看效果 ?你就知道了

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

這里的index應該就是指數組下標 ? 也就是:first ? 也就是0 ? 如果沒有return ?那它就是0 ?有了return以后就把return里的值放到了index,然后這個index應該是這個函數自帶的參數 ? ?。。應該是這樣的 ?如果有什么不對請私密我幫我改正 ?謝謝

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

JohnieXu 提問者

你這么說我更懵了
2017-03-01 回復 有任何疑惑可以回復我~
#2

qq_半人類 回復 JohnieXu 提問者

參數是這個函數自帶的 它代表的就是數組下標,第一個也就是0了 如果有返回值就會把這個0替換掉 沒有就默認是0了
2017-03-01 回復 有任何疑惑可以回復我~
#3

qq_半人類 回復 JohnieXu 提問者

比如text這些函數都自帶index這個參數
2017-03-01 回復 有任何疑惑可以回復我~
#4

qq_半人類 回復 JohnieXu 提問者

也不一定非要是index,你可以換成別的看看比如x或者y 參數名也許可以不是這個 但是參數的含義應該就是這個
2017-03-01 回復 有任何疑惑可以回復我~
查看1條回復
  1. 首先text()是一個方法

  2. text()方法可以傳參數

  3. 參數分為變量(如:index)和函數(如:function(){})

  4. 這里是text()方法傳遞一個參數是一個帶參數的函數

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

JohnieXu 提問者

不理解這里函數的參數和返回值(つд⊂)
2017-03-01 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

.text( function(index, text)和.html( function(index, oldhtml) )的用法

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

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

幫助反饋 APP下載

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

公眾號

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