JQuery选择器:(class1 OR class2)AND(class3 OR class4) - 如何编写这个选择器?

时间:2012-11-12 19:13:02

标签: jquery jquery-selectors

我有一个网页,其中显示了元素,并且侧面有一个过滤选项。用户可以过滤多个类别。

这有点像Amazon.com,您可以按价格或品牌等过滤搜索结果。

因此,如果我的用户检查$ 10- $ 25和$ 25- $ 50,但不是$ 50- $ 100或任何其他价格范围,那么选择器应该返回符合$ 10- $ 25或$ 25- $ 50的项目,但不应返回属于任何其他价格范围的商品。如果用户另外检查“蓝色”和“红色”但不检查任何其他颜色,则选择器应返回蓝色或红色的项目,但它应保持价格范围内的原始选择。

所有这些选项都是以类的形式给出的,所以我想要一个类似于:

的选择器

(.tenToTwentyfive OR .twentyfiveFift) AND (.Blue OR .Red)

这可能吗?感谢。

2 个答案:

答案 0 :(得分:5)

您可以使用filter

$('.tenToTwentyfive, .twentyfiveFift').filter('.Blue, .Red');

如果你真的需要在一个选择器中拥有所有东西(这意味着你在使用一个设计糟糕的插件),你可以使用

'.tenToTwentyfive.Blue, .tenToTwentyfive.Red, .twentyfiveFift.Blue, .twentyfiveFift.Red'  

答案 1 :(得分:2)

使用.filter()

$('.tenToTwentyfive , .twentyfiveFift').filter('.Blue , .Red')

这将选择.tenToTwentyfive OR .twentyfiveFift

的所有元素

.filter()只会选择之前选定的元素中包含.Blue OR .Red的元素。