Jquery UL LI元素,$ .each到数组

时间:2012-02-04 06:42:44

标签: jquery arrays each

无法弄清楚这是不行的。试图获取每个button_select_sub li的文本并将其放入数组中。它的构建是为了找到像这样的#button_groupings子项,因为它背后的功能是基于下面将有多个HTML实例的概念。我现在遇到的问题不在于从每个文本中获取文本,而是将其推入数组中使得数组只是一个项目,而不是多个项目。

$('#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>

1 个答案:

答案 0 :(得分:4)

您是否在全球范围内的某处有var listArray;行?如果不是,该变量可能会被视为该匿名函数的局部变量。

修改

在执行each()之前,您需要更深入一级。你正在对&lt; ul class ='button_select_sub'&gt;进行.each。元素,而不是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());
});