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

时间:2011-02-24 10:33:48

标签: jquery jquery-plugins jquery-chaining

我正在编写一个名为“myplugin”的jQuery插件,插件方法为“getSomeWhat”。这种方法可能会返回一些例如“.someclass”中元素的attr('id')。 我想保持可连接性,但我无法从互联网上找到。

请告知如何实现。

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

谢谢!

William Choi

1 个答案:

答案 0 :(得分:2)

您无法返回非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泛型迭代器。它可以无缝地迭代数组和对象。