2011-12-01 61 views
2

我使用jQuery的.data() method使用嵌套的對象這樣一些數據存儲:jQuery的。數據()代替嵌套對象的屬性

$('div.divwithdata').data('somedata', { 
    'a': { 
     'b': { 
      'c' : {} 
     } 
    } 
}); 

但我的問題是:是否有辦法來代替嵌套對象屬性而不覆蓋整個對象?

我以爲可以用.data('somedata.a.b', 'newdata').data('somedata[a][b]', 'newdata')來完成,但他們都沒有工作。

jsFiddle example

回答

2

由於data()商店引用,你可以使用它的getter form直接更新對象返回:

$("div.divwithdata").data("somedata").a.b = "newdata"; 

或者,使用括號標記:

$("div.divwithdata").data("somedata")["a"]["b"] = "newdata"; 
3

$('div.divwithdata').data('somedata').a = something ...或$('div.divwithdata').data('somedata').a.b.c = "test";

這工作;