我是jQuery的新手。我在网上看到一个程序,发现函数中n的值从0开始到该元素的数量。在下面的示例中,img元素出现一次,jQuery根据索引(它从函数中的变量n获取)获取此元素,然后执行操作。你能解释一下如何定义和增加n的值。
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("img").attr("width",function(n,v){
return v-50;
});
});
});
</script>
</head>
<body>
<img src="img_pulpitrock.jpg" alt="Pulpit Rock" width="284" height="213">
<br>
<button>Decrease image width by 50px</button>
</body>
</html>
答案 0 :(得分:0)
它使用了jquery中定义的回调函数。函数签名为function(index, attr)
将值返回到set的函数。这是当前的元素。 接收集合中的元素和旧元素的索引位置 属性值作为参数。
你的方法:
$("img").attr("width",function(n,v){
return v-50;
});
据说无法工作,因为v
(当前属性值)可能是undefined
。在这种情况下,它将返回NaN
。
随意使用此jsbin