在选择器中访问$ .data()

时间:2013-03-09 16:23:45

标签: jquery

我有以下代码:

<img class="sth" data-number="1" src="sth.jpg" alt="">

有几个这样的元素,它们仅在数据编号上有所不同。我想对所有元素执行以下操作:

$('.sth').attr('src', 'sth' + data('number') + '.jpg');

这样每个图像都会用自己的数字改变src。

然而,数据('数字')不起作用,而$('。sth')。data('number')全部用sth1.jpg改变。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:3)

您可以使用attr()功能

执行此操作
$('.sth').attr('src', function(){
    return 'sth' + $(this).data('number') + '.jpg';
});

答案 1 :(得分:1)

是的,使用jquery each()函数如下:

$('.sth').each(function(){
    $(this).attr('src', 'sth' + $(this).data('number') + '.jpg');
});

将在.sth选择器匹配的每个元素上执行。