我用这段代码存储数据。
baslat: function(data) {
var $bu = $(this).get(0);
if(!$.data($bu, "ipucu_secenekleri")){
metodlar.domEkle.apply(this, data);
var ipucu_secenekleri = $.extend({}, s, data);
$.data($bu, 'ipucu_secenekleri', ipucu_secenekleri);
}
return this;
},
但是当我尝试获取名为ipucu_secenekleri
domEkle: function (data) {
var $bu = $(this).get(0),
icerik = $.data($bu,"ipucu_secenekleri");
console.log(icerik) //undefined
}
那更多...这些也是未定义的:
$.data($bu).ipucu_secenekleri
var datam = $.data($bu);
datam.ipucu_secenekleri;
但这是有趣的部分。当我尝试获取整个数据并控制台时,我可以看到我存储的数据......
$.data($bu); //it returns the data object which contains ipucu_secenekleri.
但正如你所看到的,分配给变量是没有用的。我无法到达子级别,也无法进入循环。
for(var i in datam){console.log(datam[i])} //no effect
$.data() 是一个低级方法。你应该尝试 .data() 方法:
在您的代码中替换
$.data($bu, "ipucu_secenekleri")
跟
$bu.data("ipucu_secenekleri")
。等等。