Javascript Jquery查询每个返回的对象

Javascript Jquery查询每个返回的对象,javascript,jquery,Javascript,Jquery,我正在创建一个简单的插件,它将为所选的每个元素创建一个子元素。 我的问题是插件没有返回对子元素的引用。(或者我不知道如何访问它) 以下是插件(您可以假设省略了缺少的部分以保持简单): 如果我这样做: var child = $('selector').ui_child(); 子变量不引用任何内容。 理想情况下,我希望能够使用变量访问它。 感谢您的帮助如果您以这种方式更改ui\u子方法: $.fn.ui_child = function(options) { var children

我正在创建一个简单的插件,它将为所选的每个元素创建一个子元素。 我的问题是插件没有返回对子元素的引用。(或者我不知道如何访问它) 以下是插件(您可以假设省略了缺少的部分以保持简单):

如果我这样做:

 var child = $('selector').ui_child();
子变量不引用任何内容。 理想情况下,我希望能够使用变量访问它。
感谢您的帮助

如果您以这种方式更改ui\u子方法:

$.fn.ui_child = function(options) {
    var children = [];
    this.each(function() {  
        children.push(ui_child($(this), options));
    })
    return children;
}
您将在此处获得一系列子项:

var child = $('selector').ui_child();

使用关键字
new
使函数返回
this
对象

也许你应该换一种方式来思考:

ui_child = function (target, options) {
        return ui_fn_child(target, options); // no new keyword
};

ui_fn_child = function (target, options) {

        var o = {}; // explicit object creation

        o.target = target;

        o.settings= $.extend({}, $.fn.ui_child.defaults, options);

        o.child_create();

        return o.child;
};

我该如何只获取单个对象而不是数组?我正在使用这个插件在我正在创建的包中的另一个插件中。你想得到什么对象?最后,首先,random:)?我想到的情况是,在迭代集合并为集合中的每个条目创建一个对象的ui_子方法中,函数只返回一个对象(或者如果愿意,返回1的数组)。当jQuery选择器只匹配一个元素时,您可能只需要一个对象?我希望它为每个匹配项创建一个对象,并为返回的引用创建一个“子”元素。我的印象是,无论查询匹配一个或多个,还是我错了,每个都会这样做?问题可能在于我理解.each函数的方式。如果没有它,插件会完全按照我的要求运行,这意味着它会返回所需的对象。但是,如果不使用each,则如果选择器找到多个匹配项,则创建的所有对象都将被所有匹配项引用,而不是单独引用
ui_child = function (target, options) {
        return ui_fn_child(target, options); // no new keyword
};

ui_fn_child = function (target, options) {

        var o = {}; // explicit object creation

        o.target = target;

        o.settings= $.extend({}, $.fn.ui_child.defaults, options);

        o.child_create();

        return o.child;
};