7

可以说我有这个 html :

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

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

var c=$('.cls');

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

注意:c.find('.active')不工作,因为.find()在儿童中搜索。

4

4 回答 4

4

使用filter()而不是find()

寻找:

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

筛选:

将匹配元素集减少为匹配选择器或通过函数测试的元素。

c.filter('.active')
于 2013-08-31T08:40:26.757 回答
1

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

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

JS Fiddle 概念验证

参考:

于 2013-08-31T08:40:34.200 回答
1

使用.filter()

c.filter('.active');
于 2013-08-31T08:40:59.520 回答
0

使用 .filter()

c.filter('.active');

于 2013-09-10T16:16:30.997 回答