我正在为jQuery编写一个插件,使用标准的创作模式,使用不同的方法来完成不同的事情,我遇到了.each()的问题。
我从医生那里了解到$.each()和$(selector).each()之间的区别,但是我不知道如何克服我的问题。
在我的代码中,我有一个返回使用$(selector).data()存储的对象的方法,可以像这样运行$.each():
$.each($(selector).maps('getdetails'), function(key, value){/* stuff here */});但是,在jQuery链的范围内,这不是应该的,我也不知道如何这样做:
$(selector).maps('getdetails').each(function(key, value){/* stuff here */});对于链接性和易于使用的用户,后者是可取的。然而,我总是会遇到以下错误:
TypeError: $(selector).maps("getdetails").each is not a function下面是变量对象中存在问题的方法:
getdetails: function(){
return $(this).data('maps').details;
},(是的,在您说之前,我知道这是不正确的JS,但正如我所说的,它正确地包装在代码中的一个变量{}中。)
有人知道我如何将这个对象操作成一个jQuery对象,后者的.each()函数会迭代这个对象吗?
发布于 2011-03-21 19:42:14
我假设details是一个数组,这就是为什么details.each不能工作的原因。您需要将details转换为jQuery.init对象( jQueried对象的映射),只需将其放入jQuery函数中即可:
return $( $(this).data('maps').details );发布于 2011-03-21 19:41:39
你是不是忘记了“#”或“”。分别表示id或类?
https://stackoverflow.com/questions/5382671
复制相似问题