用jQuery.children()填充数组?

时间:2012-01-21 01:24:37

标签: jquery arrays

简单问题主要是为了简化目的,但......

目前正在使用

var categoryList = [];
$('#share').children().each(function() {
    categoryList.push($(this).html());
});

我很好奇是否有办法在1中填充数组...我意识到.children()会返回一个数组,但我想复杂性来自于我需要.html或。每个孩子的文字(或者足够)。

3 个答案:

答案 0 :(得分:2)

如果你想要的是所有孩子的组合HTML,你可以这样做来获得整个对象的HTML:

var html = $('#share').html();

或者这样可以得到所有孩子的连接HTML(没有他们各自的标签):

var html = $('#share').children().map(function() {return $(this).html()}).get().join('');

答案 1 :(得分:0)

也许.makeArray(obj)可能有所帮助?

在你的情况下:

var categoryList = $.makeArray($('#share'));

但是你可能仍然必须遍历数组中的每个项目以从包含的元素中获取HTML,但我想你可以在以后需要使用元素时执行此操作..

http://api.jquery.com/jQuery.makeArray/

答案 2 :(得分:0)

您可以做的一件事就是使用这个简单的解决方案:

categoryList = $('#share > *');

以这种方式玩数组:

categoryList[0].innerHTML 

当你需要它时,我认为它更快更容易。