2012-02-04 67 views
1

無法弄清楚這是不是正確的。嘗試獲取每個button_select_sub li的文本並將其放入數組中。它的構建是爲了找到像這樣的#button_groupings孩子,因爲它背後的功能是基於下面將會有多個HTML實例的概念。我現在遇到的問題不在於它從每個文本中獲取文本,而是將它推送到數組中,使數組只是1個項目,而不是多個項目。

$('#button_groupings').children('li').children('.button_select_sub').each(function(n,v){listArray.push($(this).text());}) 

它的html。

<div class="button_select_header_like_thing"> 
    <div class="button_select"> 
     <ul class="button_select_toggle" id="button_groupings"> 
      <li> 
       <div class="button_select_text">Menu Text</div><div class="button_select_arrow">V</div> 
       <div style="clear:both"></div> 
      </li> 
      <li> 
       <ul class="button_select_sub" rel="hidden"> 
        <li>Text</li> 
        <li>Text</li> 
        <li>Text</li> 
        <li>Text</li> 
       </ul>  
      </li> 
     </ul> 
    </div> 
</div> 

回答

4

您是否在全球範圍內有var listArray;行?如果沒有,該變量可能會被視爲該匿名函數的局部變量。

編輯

它看起來像你所需要的每一個()之前做去更深一層。你在做每個元素,而不是li元素。

$('#button_groupings').children('li').children('.button_select_sub').children('li').each(function(n,v){listArray.push($(this).text());}) 

你也可以使用這個稍微容易閱讀的語法。

$('#button_groupings li .button_select_sub li').each(function(n,v){ 
    listArray.push($(this).text()); 
}); 
+0

是的,對不起正確的每個()我有listArray = new Array(); – chris 2012-02-04 06:48:53

+1

已更新的答案... – AndrewR 2012-02-04 06:59:24