问答详情
源自:3-1 jQuery的属性与样式之.attr()与.removeAttr()

3-1示例代码39-46行看不太懂

    <input type="text" value="回调拼接value" />
    
    <script type="text/javascript">
    	//找到第三个input,通过使用一个函数来设置属性
    	//可以根据该元素上的其它属性值返回最终所需的属性值
    	//例如,我们可以把新的值与现有的值联系在一起:
    	$("input:eq(2)").attr('value',function(i, val){
    		return '通过function设置' + val
    	})
    </script>

   这段代码的运行结果是在这个imput里面显示了“通过function设置回调拼接value”这样一串string,没看懂这里的val是从哪里传进函数的,还有这个函数为什么要有一个参数i?


提问者:HoneyChinos 2016-10-31 16:45

个回答

  • Frank_W毅3947945
    2016-10-31 20:30:42
    已采纳

        function(i, val)中两个参数i和val是默认写法(当然你写成其他的y,qwq也是可以的),解释一下,function(i, val)中两个参数的含义,第一个i是指通过前面$("input")标签找到的第几个input元素(但是这里指明了eq(2),所以只有唯一的一个指定的input。)val是对应第i个input标签里的值。即在这一题里面function(i, val)中val就是特指现有的值:"回调拼接value"   这个字符串 

        另外,可能由于屏幕原因,返回的结果是:“通过function设置回调拼接val”,全屏打开,其实完整的结果是:“通过function设置回调拼接value”。。是由:'通过function设置'+val    而来。不知道我说清楚了没有......