function(i, val)能不能详细解释一下这个函数?

来源:3-1 jQuery的属性与样式之.attr()与.removeAttr()

苏子晨

2017-05-08 14:47

1.这里的i和val上文没有赋值也不是变量,为什么这里就能起作用呢?

2.有人说i是指索引值,那么$("input:eq(2)").attr('value',function(i, val){
      return '通过function设置' + val
     })

这里貌似没有用到索引值,它的i是否没有实际作用呢?

3.这个函数就是固定的这个样子吗,还是说它的参数i和val是写代码的人自定义的呢?


写回答 关注

4回答

  • qq_說些什庅_0
    2017-05-12 23:20:14
    已采纳
    1. 这里的i和val上文没有赋值也不是变量,为什么这里就能起作用呢?

    这里的i代表index 就是前面选择器的index也就是2。val是当前的属性值。

    2.有人说i是指索引值,那么$("input:eq(2)").attr('value',function(i, val){
          return '通过function设置' + val
         })

    这里貌似没有用到索引值,它的i是否没有实际作用呢?

    i代表选择器的index值(选择器不一样index范围不一样!)函数的参数在函数里可以不被引用!

    3.这个函数就是固定的这个样子吗,还是说它的参数i和val是写代码的人自定义的呢?

    函数可以随便定义,但传入的参数就这两个(index和value),参数名字随便叫。参数在函数内部可用可不用(当然不用也没必要设置这个函数了。属性给个值就行了)。函数内部也是不固定的,返回的值就是这个属性的值。


    青黄不一

    试了下,i为0

    2017-06-07 10:58:12

    共 4 条回复 >

  • Robert_Langdon
    2017-06-20 00:07:53

    这个i是0是因为你选择器里就一个元素,你把条件改成input:lt(3),再输出每个i,就不都是0了

    精雕慕刻

    终于找到一个最准确的解释了。

    2019-07-03 08:31:50

    共 1 条回复 >

  • 懒惰的猫想吃鱼
    2017-06-09 11:43:27

    那意思是这个i是搞的充数的,当个空壳子用?

  • 慕粉3340039
    2017-05-08 21:28:02

    这个地方是每个位置的参数含义是固定的,参数的名字是随便取得,你可以把参数换个名字,效果还是一样的。

jQuery基础 (一)—样式篇

jQuery初入开启样式修炼,体验万能的jQuery样式集搭建网站布局

217509 学习 · 1218 问题

查看课程

相似问题