2013-03-06 50 views
0

我使用HTML5的data在我的網站上存儲div的一些信息,每當我用jQuery更改這些數據的值時,DOM的更新情況良好,但jQuery 當我嘗試檢索值時,未看到更新。HTML5數據DOM的變化沒有被JQuery看到

我用$('#myDiv').attr('data-my_data',value);更新這個數據的值,然後用$('#myDiv').data('data-my_data')得到數值。

Here's the fiddle說明我的問題。

這是因爲一些jQuery的初始表示不更新的DOM?

我不明白,任何幫助將不勝感激!

配置:鉻25 - jQuery的1.9.0 - 的Mac OSX 10.7

回答

1

您可以根據您的實例

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

的Attr設置的值到data('yourKey','Yourvalue')

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

:它會attributges添加到DOM對象。

prop:它會在內存中添加合適的東西。所以你的數據將在DOM的dataSet中被調用。

更多信息檢查此attr vs prop

+0

@Bigood看到我更新的答案 – 2013-03-06 12:26:17

+0

謝謝你的回答! – Bigood 2013-03-06 12:27:10

+0

不適合我,我的Dom是一樣的 – SuperUberDuper 2015-12-10 18:01:02

1

data-*屬性映射到dataset DOMString對象,使用data方法設定器,沒有爲屬性使用attr

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

http://jsfiddle.net/zgKdg/

+0

謝謝你,它的工作原理!但爲什麼jQuery沒有看到數據集DOMString對象的變化? – Bigood 2013-03-06 12:24:29

+0

@Bigood因爲'data- *'屬性實際上是屬性,所以修改屬性不會改變屬性。 – undefined 2013-03-06 12:26:18

+0

好的,謝謝! – Bigood 2013-03-06 12:26:39