使用 "and" 和 "or" 的同位素过滤
Isotop Filtering using "and" and "or"
我有一系列 a 元素需要根据用户选择进行过滤。这些项目有 class 个,例如 class="a b c d visible"
。 .visible
当它的图钉在地图上可见时添加。我可以使用
过滤 .visible
$('.search-results').isotope({
filter: '.visible'
});
但是,我还想添加过滤土地、混合和住宅 classes 的功能。我知道过滤器可以使用 and
过滤,例如:
$('.search-results').isotope({
filter: '.a.visible'
});
但是,我需要用 or 过滤 "letter" classes,这样如果它们中的任何一个匹配,并且如果它有 visible
class 它将会呈现。我试图使用类似的东西:
$('.search-results').isotope({
filter: '.a.visible, .b.visible'
});
没有成功。如果能帮我解决这个问题,我将不胜感激。
tl;dr: 需要匹配 ((.a) || (.b) || (.c) || (.d) && (.visible))
也许我没有正确理解你的问题,但你的要求似乎得到了很好的支持。看看这个修改后的例子:
http://jsfiddle.net/hu8zdc7o/2/
您示例中的这段代码看起来是正确的:
$('.search-results').isotope({
filter: '.a.visible, .b.visible'
});
此外,您的 tl;dr 似乎与您的 post 不符,您是这个意思吗?
((.a || .b || .c || .d) && .visible)
我有一系列 a 元素需要根据用户选择进行过滤。这些项目有 class 个,例如 class="a b c d visible"
。 .visible
当它的图钉在地图上可见时添加。我可以使用
.visible
$('.search-results').isotope({
filter: '.visible'
});
但是,我还想添加过滤土地、混合和住宅 classes 的功能。我知道过滤器可以使用 and
过滤,例如:
$('.search-results').isotope({
filter: '.a.visible'
});
但是,我需要用 or 过滤 "letter" classes,这样如果它们中的任何一个匹配,并且如果它有 visible
class 它将会呈现。我试图使用类似的东西:
$('.search-results').isotope({
filter: '.a.visible, .b.visible'
});
没有成功。如果能帮我解决这个问题,我将不胜感激。
tl;dr: 需要匹配 ((.a) || (.b) || (.c) || (.d) && (.visible))
也许我没有正确理解你的问题,但你的要求似乎得到了很好的支持。看看这个修改后的例子:
http://jsfiddle.net/hu8zdc7o/2/
您示例中的这段代码看起来是正确的:
$('.search-results').isotope({
filter: '.a.visible, .b.visible'
});
此外,您的 tl;dr 似乎与您的 post 不符,您是这个意思吗?
((.a || .b || .c || .d) && .visible)