JohnieXu
2017-03-01 13:33
$(".left a:first").text(function(index,text){ return '增加新的文本内容' + text })
这里面的function怎么理解啊?匿名函数没有传入参数,那么函数返回的值增加的text是什么呢?没有传入index参数,难道index是js或jQuery的关键字?
应该先去了解一下什么是回调函数,回调函数不是我们自己调用的,而是在运行过程中程序自动调用的.举个例子,一个点击事件,鼠标点击一下,程序会调用一个方法,方法里面有几个参数,其中鼠标的x,y轴位置,这都是程序自动跳上去的,程序自动调用函数,自动把参数填上。这里也是,这个匿名函数你根本没有调用,index和text都是程序自己填上的。
$(".left a:first").text(function(idnex,text){
return '增加新的文本内容' + text
});
这里的index 其实就是下标 简单的来说就是在哪个地方开始新增内容 但是 为什么是在第二个盒子里面 新增了内容了 其实你好好想一想 你就会发现的是 第一个盒子的子节点 都已经被替换成html的元素了 而这里的需求是增加内容 所以和元素毫无关系 接着程序就会往下运行 找到第二个盒子 这时就增加成功了 如果不相信的朋友可以先把$(".left div:first").html('整个div的子节点都被替换了')这句话先注释了 运行看看效果 你就知道了
这里的index应该就是指数组下标 也就是:first 也就是0 如果没有return 那它就是0 有了return以后就把return里的值放到了index,然后这个index应该是这个函数自带的参数 。。应该是这样的 如果有什么不对请私密我帮我改正 谢谢
首先text()是一个方法
text()方法可以传参数
参数分为变量(如:index)和函数(如:function(){})
这里是text()方法传递一个参数是一个带参数的函数
jQuery基础 (一)—样式篇
217509 学习 · 1218 问题
相似问题