数据属性值无法更新

时间:2015-06-26 16:44:16

标签: jquery attributes

我想更新data属性的值。我检查了显示警告消息,但是当我检查元素时,值没有更新。这是我的代码:

     alert(pid); // show 1
     alert($('#buybtn').data('id')); // show 'hello'
     $('#buybtn').data('id',pid);
     alert($('#buybtn').data('id')); // show 1

但是在这段代码运行之后我检查了数据属性值。它显示以前的数据如下: enter image description here

我的代码有什么问题?谢谢你的时间。

2 个答案:

答案 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'));