如何从具有可链接性的jQuery插件的方法返回对象数组?

如何从具有可链接性的jQuery插件的方法返回对象数组?,jquery,jquery-plugins,jquery-chaining,Jquery,Jquery Plugins,Jquery Chaining,我正在编写一个名为“myplugin”的jQuery插件,其插件方法为“getDougin”。此方法可能返回某个元素的集合,例如“.someclass”中元素的attr('id')。 我想保持链接性,但我在网上找不到 请告知如何实现 $(".someclass").myplugin('getSomeWhat').each(function() { //some stuff for each somewhat }); 谢谢 William Choi您不能返回非jQuery对象并保留可链接

我正在编写一个名为“myplugin”的jQuery插件,其插件方法为“getDougin”。此方法可能返回某个元素的集合,例如“.someclass”中元素的attr('id')。 我想保持链接性,但我在网上找不到

请告知如何实现

$(".someclass").myplugin('getSomeWhat').each(function() {
    //some stuff for each somewhat
});
谢谢


William Choi

您不能返回非jQuery对象并保留可链接性。这仅仅是因为可链接性依赖于jQuery对象。当然,完全可以返回jQuery对象并允许内容链接到该对象,但这会有点违背查找方法的目的

如果您希望迭代返回的集合,您可以这样完成:

var data = $(".someclass").myplugin('getSomeWhat');
$.each(data, function(i, v) {
    //i is index, v is value (if using object props, i is the propName
});

这使您可以使用jQuery通用迭代器。它可以无缝地迭代数组和对象。

我不能将集合包装到jQuery对象中吗?这实际上取决于用例,您到底想实现什么?您想迭代插件返回的集合吗?更新了我的答案以提供迭代的解决方案。