我正在使用HTML5的data
在我的网站上存储div
的一些信息,每当我用jQuery更改此数据的值时,DOM的更新都很好,但是jQuery 我尝试检索值时没有看到更新。
我使用$('#myDiv').attr('data-my_data',value);
更新此数据的值,然后使用$('#myDiv').data('data-my_data')
获取值。
Here's the fiddle来说明我的问题。
这是因为某些jQuery的DOM初始表示没有更新吗?
我不明白,任何帮助都将不胜感激!
配置:Chrome 25 - jQuery 1.9.0 - Mac OSx 10.7
答案 0 :(得分:1)
data-*
属性映射到dataset
DOMString对象,使用data
方法作为 setter ,不要将attr
用于属性。
$('#testDiv').data('test_data', newData).html("My data is : " + newData);
答案 1 :(得分:1)
您可以将值设置为data('yourKey','Yourvalue')
$(yourElement).data('isEdit','1');
根据你的例子
$('#myDiv').data('data-my_data','value');
Attr:它会为dom对象添加属性。
道具:它会在记忆中添加适当的东西。所以你的数据将在DOM的dataSet中被覆盖。
了解详情,请查看此attr vs prop