我想在点击这样一个按钮后才开始加载所有图库图像:
<div class=".gallery-pictures">
<img rel="image1url" />
<img rel="image2url" />
...
</div>
$('.gallery-pictures img').attr( 'src', $(this).attr('rel') );
但是,显然$(this)
不是图片,因此rel
属性不是正确的。{1}}属性。因此,我想知道是否可以设置所有这些而不必使用:
$(selector + ' img').each(function(index, image)
{
$(image).attr( 'src', $(image).attr('rel') );
});
答案 0 :(得分:0)
大多数jQuery setter函数都接受一个函数作为参数。他们在每个选定的元素上调用函数,传递被设置为参数的旧值,将this
设置为元素,并使用返回值作为新值。
$(select + ' img').attr('src', function() {
return $(this).attr('rel');
});
这基本上是使用.each()
的快捷方式。
答案 1 :(得分:-1)
如果您需要项目本身的上下文来计算值,请使用$.each()
,在您的情况下,您需要执行每个项目的值更改。