就是这个问题$("input:eq(2)").attr('value',function(i, val)
我以提问的方式,说说我的理解,希望评论指出我的错误。
<form> <input type="text" value="设置value" /> <input type="text" value="获取value"/> <input type="text" value="回调拼接value" /> <input type="text" value="删除value" /> </form> <script type="text/javascript"> //i是当前选择元素的索引值,val是当前选择元素的当前属性值 $("input:eq(2)").attr('value',function(i, kengdie){ return '通过function设置' + kengdie }) </script>
先把多余的删掉,然后把原本的变量val改成kengdie,对!
1、首先,$("input:eq(2)").attr('value',function(....))设置(替换)当前input的value值为function(...)
2、function(i,kengdie),i就是指当前($("input:eq(2)"))的索引值,kengdie这个变量是获取当前的value值,因为.attr('value',function(....))目的是要设置value值,所以function(i,kengdie)就是获得当前的value值(据说是回调函数???)
3、return '通过function设置' + kengdie。容易理解。
所以结果是:“通过function设置回调拼接value”。
好像input 的长度不够啊真坑爹,误以为看到的是“通过function设置回调拼接val”,其实把文字拉右边就能看到ue了。加上坑爹的变量名val!误以为是变成val!
所以就这样理解吧。