0

我刚开始从 w3schools 学习 JQuery .. 我只想学习基本语法。我对这段代码有点困惑:

$(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 =元素“test1”的当前原始文本我没有声明任何这样的函数。我不确定它是否在“jquery-2.0.3.js”文件中可用。

我无法理解当我第一次单击 btn1 时,origText 包含 test1 元素的当前值?

我知道这可能是一个非常愚蠢的问题......但我试着用我的头脑并且不能安静地理解。我唯一的猜测是它在我正在使用的 jquery-2.0.3.js 文件中的预定义函数,但我只是想确定一下。

提前致谢 :)

更新:我保证在这之后我不会再使用 w3schools 的任何参考资料了.. 我很着急.. 只是想让自己熟悉语法,所以正在阅读示例。没看懂这个所以问。

4

1 回答 1

2

从 jQuery 方法的文档中可以看出.text(),当将匿名函数作为参数传递给该方法时,匿名函数会传递两个参数,第一个是元素集合中元素的索引方法被调用,第二个是相关元素的原始文本内容。

无论这个匿名函数返回什么,jQuery 都会用来设置相关元素的文本内容。

这是一个演示这个的小演示

于 2013-09-27T04:35:07.223 回答