2012-01-21 57 views
0

简单的问题,主要是为了简化的目的,但...用jQuery.children()填充数组?

目前使用

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

我很好奇,如果有办法,只是填充数组中的1个去...我知道了。孩子()确实会返回一个数组,但我想这个复杂性来自于我需要每个孩子的.html或.text(或者足够)的事实。

回答

2

如果你想要的是所有孩子的综合HTML,你可以只这样做是为了让整个对象中的HTML:

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

或这让所有的孩子的级联HTML (没有它们的单独标签):

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

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

你的情况

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

但你可能仍然遍历数组中的每个项目,以获得从包含的元素的HTML,但我想,当你需要用你能做到这一点后元素..

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

0

一件事,你可以做的就是用这种简单的解决方案:

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

,并以这种方式排列玩法:

categoryList[0].innerHTML 

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