1

我面临从数据属性获取更新值的问题!

检查这里http://jsfiddle.net/Jim_Toth/ZLJbt/show/

单击(多少?),警报将为您提供当前值

但是在您单击(再添加一个?)后,将为当前值添加 +1

如果您再次单击(多少?)将获得您之前获得的旧值

那么如何获得更新的值而不是我以前得到的旧值呢?

检查这里的代码http://jsfiddle.net/Jim_Toth/ZLJbt/

$('div').click(function () {
    alert($(this).data('foo'));
});

var div = 1;
$('button').click(function () {
    $('div').attr('data-foo', div);
    div += 1;
});
4

2 回答 2

5

jQuery .data()仅用于data-*初始化数据值......如果你想修改然后使用.data()来设置值

你应该设置.data()而不是attr()

var div = 1;
$('button').click(function () {
    $('div').data('foo', div);
    div += 1;
});

演示:小提琴

于 2013-10-17T08:42:25.577 回答
1

演示:http: //jsfiddle.net/ZLJbt/2/

$('div').click(function () {
    alert($(this).data('foo'));
});

$('button').click(function () {
    var count = $('div').data('foo') || 0;
    $('div').data('foo', count + 1) ;
});
于 2013-10-17T08:45:00.930 回答