使用jQuery将子元素推入全局数组

时间:2010-10-28 19:08:09

标签: jquery arrays

我正在编写一个脚本,将每个子元素推送到一个全局数组(稍后在我的脚本中进行处理)但由于某种原因它实际上并没有将元素推入数组。

代码:

var childElements=new Array();    
function getChildren(elem){
            $(elem).children().each(function(index, value){
                childElements[index] = $(this);
            });
        }

我做错了吗?

2 个答案:

答案 0 :(得分:3)

由于jQuery对象是一个类似于Array的对象,我可能只是使用它而不是创建一个独立包装的对象数组。

var childElements=$(elem).children();

如果您打算添加更多元素,可以.push()始终.add()个新元素。这也将确保您没有重复项。

var childElements= $();    
function getChildren(elem){
    childElements = childElements.add( $(elem).children() );
}

答案 1 :(得分:2)

$.each($(elem).children(), function(index, value){ 
                childElements[index] = $(this); 
            });

编辑:Patrick是一个有效的观点。如果您只是想要一个子对象数组,那么简单的var childElements = $('selector').children();就足够了。您不需要该函数,除非您希望该数组的值包含子元素的特定属性(的组合)。