无法弄清楚这是不行的。试图获取每个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>
答案 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());
});