2012-01-21 91 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 

當你需要它,我認爲這是更快,更容易。