このコードでデータを保存しています。
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 in loop に到達することもできません。
for(var i in datam){console.log(datam[i])} //no effect