使用jQuery更新data属性的值

时间:2011-10-24 10:33:41

标签: jquery

我有以下HTML代码:

<a class="toggle" href="#toggle">
    <img src="app/css/images/tock.png" alt="No" data-id="4" data-block="1">
</a>

我想使用jQuery更新srcdata-block属性的值。我该怎么做?

更新:由于我有很多图像元素,因此我想使用data-id更新特定图片的值。

4 个答案:

答案 0 :(得分:102)

$('.toggle img').data('block', 'something');
$('.toggle img').attr('src', 'something.jpg');

使用jQuery.datajQuery.attr

为了便于理解,我将它们分别展示给你。

答案 1 :(得分:14)

$('.toggle img').each(function(index) { 
    if($(this).attr('data-id') == '4')
    {
        $(this).attr('data-block', 'something');
        $(this).attr('src', 'something.jpg');
    }
});

$('.toggle img[data-id="4"]').attr('data-block', 'something');
$('.toggle img[data-id="4"]').attr('src', 'something.jpg');

答案 2 :(得分:3)

我想更改div的宽度和高度。数据属性没有更改。相反,我使用:

var size = $("#theme_photo_size").val().split("x");
$("#imageupload_img").width(size[0]);
$("#imageupload_img").attr("data-width", size[0]);
$("#imageupload_img").height(size[1]);
$("#imageupload_img").attr("data-height", size[1]);

注意:

$("#imageupload_img").data("height", size[1]); //did not work

未设置

$("#imageupload_img").attr("data-height", size[1]); // yes it worked!

这已经设置好了。

答案 3 :(得分:2)

$('.toggle img').data('block', 'something').attr('src', 'something.jpg');