2016-08-05 7 views
-1

更新することはできませんHTMLデータ属性は、私は、このHTMLボタンを持っているのjQuery

$("#TopBiggestCommissionButton").click(function (e) { 
    e.preventDefault(); 
    var paging = $(this).attr("data-paging"); 
    paging = parseInt(paging) + parseInt(10); 
    alert (paging); //--- THIS PRODUCE 10 as result 
    $(this).data("paging", paging); //--- but this isn't working 
}); 

私はまだ0などを持っている理由data-pagingソースコードを表示する際の値。いいえ10。ありがとうございました。

+2

を読み書きしながら、単にソースコードを変更することはありません.data()を使用しています。あなたのコードは正常に動作しています。 jQueryはパフォーマンスを向上させるために内部キャッシュの 'data'属性への変更を保存します。あなたは 'attr( 'data-paging'、paging)'を使用して属性を設定し、DOMインスペクタで変更を可視化することができますが、必ずしも必要ではなく、遅くなります –

+0

'data .data()メソッドを介して-attribute'を実行します。むしろ、jQueryはデータを内部的にキャッシュしました。コンソールの値をチェックすると10 –

答えて

3

.data()内部キャッシュを使用して情報を格納しますが、属性は更新されません。あなたは属性が.attr()

$(this).attr("data-paging", paging); 

を使い更新する場合は、.attr()を使用する必要はありませんpagingデータ

$("#TopBiggestCommissionButton").click(function (e) { 
    e.preventDefault(); 
    var paging = $(this).data("paging"); 
    paging += 10; 
    alert (paging); 
    $(this).data("paging", paging); 
}); 
関連する問題