0

我有一个我调用的函数:

CreateNode(e,control);// which will return an ID.  
                      // e i leave alone, but i was thinking that i 
                      // could pass the object into the function this way optionally.


function CreateNode(e, control){
if(!control) control = this;
// for rest of function, calls to the object are $(control) instead of $(this).
//...
}

然后我有一个我想迭代的选择器:

$(control_group).each(createNode);

有没有办法从中建立一个IDS列表,例如:

var arr = [];
arr.push($(control_group).each(createNode));

我正在做一个递归控件构建器,它在控件中制作控件,所以我想将标识符返回到子属性中。这就是我要对arr做的事情。

我的一个想法是做一些简单的事情,比如:

var arr = [];
$(control_group).each(function(e){
    arr.push(createNode(e,$(this));
});
4

1 回答 1

4

这正是这样.map()做的:

var arr = $(control_group).map(createNode).get();

.map()返回一个 jQuery 对象;如果你想要一个普通的数组,你需要.get()它。

于 2013-09-24T16:49:00.087 回答