我想更新data属性的值。我检查了显示警告消息,但是当我检查元素时,值没有更新。这是我的代码:
alert(pid); // show 1
alert($('#buybtn').data('id')); // show 'hello'
$('#buybtn').data('id',pid);
alert($('#buybtn').data('id')); // show 1
但是在这段代码运行之后我检查了数据属性值。它显示以前的数据如下:
我的代码有什么问题?谢谢你的时间。
答案 0 :(得分:4)
jQuery的data属性不会更新可见的HTML标记 - 它只更新数据的内部副本。只要您始终使用jQuery.data()
来访问/更改,这样做效果会更好并且效果很好。
否则,请使用jQuery.attr('data-id', pid)
不推荐:
$('#buybtn').attr('data-id', pid)
答案 1 :(得分:0)
我找到了解决这个问题的技巧。由于数据属性无法更新,因此我将其删除并添加更新值。
$('#buybtn').attr('data-id');
$('#buybtn').attr('data-id',pid);
alert($('#buybtn').data('id'));