这段代码不懂

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

qq_梦里_0

2016-07-26 19:40

$("input:eq(2)").attr('value',function(i, val){

    return '通过function设置' + val

    })

i和val是形参,可是实参在哪啊?看到结果是<input type="text" value="回调拼接value" />里面的value值传入到函数val这个参数上面,为什么会这样呢?没看到哪儿传递了参数

写回答 关注

2回答

  • C0EEC3F7BBAA
    2016-08-01 20:56:24
    已采纳

    http://img.mukewang.com/579f465e000126a207480287.jpg

    w3school的解释,index是当前元素的索引值,oldvalue是当前属性值

    你可以通过此方法设置所有input的value值,当在返回值里加上个i

    把代码改成

    $('input').attr('value',function(i, val){
        		return '通过function设置' + i+val
        	})

    一看就明白了

    qq_苍蓝猛...

    还是不明白啊

    2016-08-10 11:19:06

    共 2 条回复 >

  • jxeng
    2016-07-26 21:14:29

    这里的index, value两个属性是$("input:eq(2)")的。谁调用就取的谁的属性

jQuery基础 (一)—样式篇

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

217509 学习 · 1218 问题

查看课程

相似问题