首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery $().each而不是$.each()

jQuery $().each而不是$.each()
EN

Stack Overflow用户
提问于 2011-03-21 19:36:57
回答 2查看 624关注 0票数 2

我正在为jQuery编写一个插件,使用标准的创作模式,使用不同的方法来完成不同的事情,我遇到了.each()的问题。

我从医生那里了解到$.each()$(selector).each()之间的区别,但是我不知道如何克服我的问题。

在我的代码中,我有一个返回使用$(selector).data()存储的对象的方法,可以像这样运行$.each():

代码语言:javascript
复制
$.each($(selector).maps('getdetails'), function(key, value){/* stuff here */});

但是,在jQuery链的范围内,这不是应该的,我也不知道如何这样做:

代码语言:javascript
复制
$(selector).maps('getdetails').each(function(key, value){/* stuff here */});

对于链接性和易于使用的用户,后者是可取的。然而,我总是会遇到以下错误:

代码语言:javascript
复制
TypeError: $(selector).maps("getdetails").each is not a function

下面是变量对象中存在问题的方法:

代码语言:javascript
复制
getdetails: function(){
    return $(this).data('maps').details;
},

(是的,在您说之前,我知道这是不正确的JS,但正如我所说的,它正确地包装在代码中的一个变量{}中。)

有人知道我如何将这个对象操作成一个jQuery对象,后者的.each()函数会迭代这个对象吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-21 19:42:14

我假设details是一个数组,这就是为什么details.each不能工作的原因。您需要将details转换为jQuery.init对象( jQueried对象的映射),只需将其放入jQuery函数中即可:

代码语言:javascript
复制
return $( $(this).data('maps').details );
票数 4
EN

Stack Overflow用户

发布于 2011-03-21 19:41:39

你是不是忘记了“#”或“”。分别表示id或类?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5382671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档