HTML5数据DOM的变化是JQuery看不到的

时间:2013-03-06 12:17:55

标签: javascript jquery html5 dom

我正在使用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

2 个答案:

答案 0 :(得分:1)

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

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

http://jsfiddle.net/zgKdg/

答案 1 :(得分:1)

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

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

根据你的例子

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

Attr:它会为dom对象添加属性。

道具:它会在记忆中添加适当的东西。所以你的数据将在DOM的dataSet中被覆盖。

了解详情,请查看此attr vs prop