【问题标题】:jquery - multiple filters with and-orjquery - 带有和-或的多个过滤器
【发布时间】:2020-11-06 03:57:02
【问题描述】:

说我有这个:

<div class="red square">...</div>
<div class="white square">...</div>
<div class="blue square">...</div>

<div class="red triangle">...</div>
<div class="white triangle">...</div>
<div class="blue triangle">...</div>

<div class="red circle">...</div>
<div class="white circle">...</div>
<div class="blue circle">...</div>

如何选择(红色或白色)和(圆形或方形)?

这似乎有效:

  $('div').filter('.red,.white').filter('.circle,.square').addClass('select');

但是如果过滤器是可变的(存储在对象中),可能只有颜色选择、单一形状或具有其他组(例如大小),例如:

filters = {color:".red,.blue", shape:".circle,.square"};
// or
filters = {color:".white", size:".medium,.small"};

 $('div').filter(filters[color]).filter(filters[shape]).filter(filters[size]).addClass('select');
// This won't work when one of the object key is absent. 

【问题讨论】:

  • 您能否在您的问题中也添加最终操作?
  • 对不起,我不知道'final op'指的是什么。
  • 我的意思是说你需要的最终输出。

标签: jquery filter


【解决方案1】:

通过使用由关键字数组(组)组成的对象,然后使用过滤器检查每个组中是否至少有一个关键字匹配来解决。

【讨论】:

    猜你喜欢
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-12
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 2012-06-09
    相关资源
    最近更新 更多