1

データ属性から更新された値を取得する際に問題に直面しています!

ここをチェックhttp://jsfiddle.net/Jim_Toth/ZLJbt/show/

(いくら?) をクリックすると、アラートが現在の値を取得します。

ただし、(もう 1 つ追加しますか?) をクリックすると、現在の値に +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()を使用して値を設定します

attr()ではなく.data()を設定する必要があります

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

デモ:フィドル

于 2013-10-17T08:42:25.577 に答える