问答详情
源自:3-2 jQuery的属性与样式之html()及.text()

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

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

这里面的function怎么理解啊?匿名函数没有传入参数,那么函数返回的值增加的text是什么呢?没有传入index参数,难道index是js或jQuery的关键字?


提问者:JohnieXu 2017-03-01 13:33

个回答

  • candyTong_
    2017-03-03 12:56:46
    已采纳

    应该先去了解一下什么是回调函数,回调函数不是我们自己调用的,而是在运行过程中程序自动调用的.举个例子,一个点击事件,鼠标点击一下,程序会调用一个方法,方法里面有几个参数,其中鼠标的x,y轴位置,这都是程序自动跳上去的,程序自动调用函数,自动把参数填上。这里也是,这个匿名函数你根本没有调用,index和text都是程序自己填上的。

    http://img.mukewang.com/58b8f7680001ed3111220261.jpg

  • 慕虎7046692
    2017-07-28 14:47:11

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

                return '增加新的文本内容' + text

            });

    这里的index 其实就是下标 简单的来说就是在哪个地方开始新增内容 但是 为什么是在第二个盒子里面 新增了内容了  其实你好好想一想 你就会发现的是  第一个盒子的子节点 都已经被替换成html的元素了  而这里的需求是增加内容  所以和元素毫无关系  接着程序就会往下运行 找到第二个盒子 这时就增加成功了   如果不相信的朋友可以先把$(".left div:first").html('整个div的子节点都被替换了')这句话先注释了  运行看看效果  你就知道了

  • qq_半人类
    2017-03-01 16:53:23

    这里的index应该就是指数组下标   也就是:first   也就是0   如果没有return  那它就是0  有了return以后就把return里的值放到了index,然后这个index应该是这个函数自带的参数    。。应该是这样的  如果有什么不对请私密我帮我改正  谢谢

  • weibo_哆啦A梦有大口袋_0
    2017-03-01 15:32:05

    1. 首先text()是一个方法

    2. text()方法可以传参数

    3. 参数分为变量(如:index)和函数(如:function(){})

    4. 这里是text()方法传递一个参数是一个带参数的函数