我刚刚开始从 w3schools 学习 JQuery .. 我只想学习基本语法。 我对 this piece of code 有点困惑:
$(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 的任何引用文献.. 我很着急.. 只是想让自己熟悉语法,所以正在查看示例。不懂这个所以问。
最佳答案
从 .text()
的文档中可以看出jQuery 的方法,当匿名函数作为参数传递给该方法时,匿名函数会传递两个参数,第一个是调用该方法的元素集中元素的索引,第二个是相关元素的原始文本内容。
无论这个匿名函数返回什么,jQuery 都会使用它来设置相关元素的文本内容。
关于javascript - JQuery 回调工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19042481/