Javascript jquery数据返回';未定义';
我试图在我的插件上的DOM元素Javascript jquery数据返回';未定义';,javascript,jquery,jquery-data,Javascript,Jquery,Jquery Data,我试图在我的插件上的DOM元素($.cache)中存储一些数据,但我遇到了如下所述的一些问题 $(\u buelement).data('yazi')在metodlar.gizle上返回undefined,但它在metodlar.goster上工作,我在那里存储数据 在我的插件中,metodlar.goster在onMounseIn上启动,而metodlar.gizle在mouseout上启动 $.fn.balon = function( metod, girdi ) {
($.cache)
中存储一些数据,但我遇到了如下所述的一些问题
$(\u buelement).data('yazi')
在metodlar.gizle
上返回undefined
,但它在metodlar.goster
上工作,我在那里存储数据
在我的插件中,metodlar.goster在onMounseIn上启动,而metodlar.gizle在mouseout上启动
$.fn.balon = function( metod, girdi ) {
var _bu = this;
var metodlar = {
goster : function( ) {
return _bu.each(function ( ) {
var _buelement = $(this);
s.pozisyonAl(_buelement);
s.balon.fadeIn(300);
$.data(_buelement,{'balon' : s.balon,'yazi':'heyho'});
})
},
gizle : function( ) {
return _bu.each(function ( ) {
var _buelement = $(this);
$(_buelement).data('yazi');
})
}
}
});
最后,我运行了一些调试,发现metodlar.gizle
工作正常,但数据仍然未定义
这里有小提琴链接:试试这个:
gizle : function( ) {
return _bu.each(function ( ) {
var _buelement = $(this);
_buelement.data('yazi');
})
}
尝试更改在goster
中存储数据的方式:
_buelement.data({'balon' : s.balon,'yazi':'heyho'});
你的代码是用一种我无法理解的奇怪语言编写的。是的。这就是为什么我所有的代码都是用英语编写的,这样别人就不会觉得它像胡言乱语。我不会像你一样把我的母语命名为胡言乱语。@你能不能把你的代码放在JSFIDLE上,并粘贴链接作为你问题的一部分..$.data(_-buelement,{'balon':s.balon,'yazi':'heyho');它起作用了,但是这种声明是错误的吗?$.data(_-buelement,{'balon':s.balon,'yazi':'heyho')
,\u buelement
被用作存储数据的键,这使得检索有问题,因为它是jQuery对象。@pete这不太正确$。data
是jQuery使用的低级实用程序,它将元素作为第一个参数。但是,它不支持像element.data()
这样的“作为键/值对的对象”语法。该代码还有一个拼写错误,其中在某个地方使用了“method”而不是“metod”。此外,这里还有一个稍微整理过的小提琴版本,它实际上可以工作: