0

我正在使用 HTML5data将一些信息存储div在我的网站上,每当我使用 jQuery 更改此数据的值时,DOM 都会很好地更新,但是当我尝试检索值时jQuery看不到更新。

我用 更新此数据的值$('#myDiv').attr('data-my_data',value);,并用 取回值$('#myDiv').data('data-my_data')

这是说明我的问题的小提琴。

发生这种情况是因为某些 jQuery 对 DOM 的初始表示没有更新吗?

我不明白,任何帮助将不胜感激!

配置:Chrome 25 - jQuery 1.9.0 - Mac OSx 10.7

4

2 回答 2

1

data-*属性映射到datasetDOMString 对象,使用data方法作为setter,不要attr用于属性。

$('#testDiv').data('test_data', newData).html("My data is : " + newData);

http://jsfiddle.net/zgKdg/

于 2013-03-06T12:20:17.593 回答
1

您可以将值设置为data('yourKey','Yourvalue')

$(yourElement).data('isEdit','1');

根据你的例子

$('#myDiv').data('data-my_data','value');

Attr :它将向 dom 对象添加属性。

prop :它将在内存中添加属性。所以你的数据将被存储在 DOM 的 dataSet 中。

有关更多信息,请查看此attr vs prop

于 2013-03-06T12:22:52.780 回答