2013-09-27 72 views
0

我剛剛開始從w3schools學習JQuery ..我只想學習基本語法。 我有點困惑與this piece of codeJQuery回調工作

$(document).ready(function(){ 
var i=0; 
    $("#btn1").click(function() 
    { 
     $("#test1").text(function(a, origText) 
     { 
      i = (parseInt(i)+1); 
      return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; 
     }); 
    }); 
}); 

我明白回調在JavaScript中使用,但我不明白它是如何在這裏工作。

這個功能(A,origText) 其中a =我認爲這是指數..但它始終爲0 和origText =從元素「測試1」 我還沒有宣佈任何這樣的功能在當前原文。我不確定它是否在「jquery-2.0.3.js」文件中可用。

我無法理解,當我第一次點擊btn1時,origText包含test1元素的當前值?

我知道這可能是一個非常愚蠢的問題問..但我試着用我的頭,不安靜能夠理解。我唯一的猜測將是它在我正在使用的jquery-2.0.3.js文件中的預定義函數,但我只是想確定。

感謝提前:)

更新: 我保證我不會這個後使用從W3Schools的任何更多的參考資料。我很着急..只是想要讓自己熟悉的語法,因此打算通過例子。沒有人理解這個問題。

+4

[必讀資料。](http://www.w3fools.com)此外,你應該從[jQuery.com](http://jquery.com/)學習jquery,而不是w3schools ..除非它的a好書還是什麼的。 – Daedalus

+2

從這裏開始http://jqfundamentals.com/ – elclanrs

+0

是的代達羅斯,傑森我同意w3schools不是最好的地方學習任何東西..但我只想做一個初步的快速研究,在我今晚睡覺之前,將開始閱讀更可信來自tomm :) –

回答

2

從jQuery的.text()方法的文檔可以看出,當一個匿名函數作爲參數傳入方法時,匿名函數會傳遞兩個參數,第一個參數是元素的索引該方法被調用的元素的集合,第二個元素是所討論的元素的原始文本內容。

無論這個匿名函數返回什麼,jQuery用來設置有問題的元素的文本內容。

Here is a small demo demonstrating this