JQuery搜索对象数组

时间:2013-08-31 08:39:43

标签: javascript jquery html dom jquery-selectors

让我说我有这个HTML:

<ul>
<li class="cls">one</li>
<li class="cls active">tow</li>
<li class="cls">here</li>
<li class="cls">after</li>
</ul>

我正在通过此jquery选择器选择所有.cls$('.cls')并将它们放在变量中:

var c=$('.cls');

c现在是一个对象数组。我想通过jQuery方法在这个数组中选择.active项。 我知道我可以使用$('.cls.active'),但这不是我想要的。我想使用c。 有没有解决方案?

注意:c.find('.active')无效,因为.find()正在搜索孩子。

4 个答案:

答案 0 :(得分:3)

使用filter()代替find()

找到:

  

获取当前匹配组中每个元素的后代   元素,由选择器,jQuery对象或元素过滤。

过滤器:

  

将匹配元素集减少到与选择器匹配的元素集   通过功能测试。

c.filter('.active')

答案 1 :(得分:1)

只需使用jQuery对象的filter()方法:

var active = c.filter('.active');

JS Fiddle proof-of-concept

参考:

答案 2 :(得分:1)

使用.filter()

c.filter('.active');

答案 3 :(得分:0)

使用.filter()

c.filter( '有效'。);