我假设您应用了各种用于过滤的类,例如 col2、col3、col4 和文本、图像、视频,并且目前正在沿着 '.col2.image' 的行构建一个过滤器字符串,它可以让您跨越两列并且是图像的元素。通过用逗号分隔它们,您将获得一个 OR 过滤器 ('.col2, .image'),它显示任何图像或跨越两列的内容。
首先,您现在可以将这些组合起来用于第二部分,以创建像“.col2.text、.col2.video、.col3.text、.col3.video”这样的过滤器,但是,这可能会很快变得难看,尤其是当您增加类别的数量。
为了简化,我修改了 Isotope 以接受一个过滤器数组并将它们与多个过滤器调用链接在一起,但是,听起来也可以传入更复杂的过滤对象而不是字符串(https://github .com/desandro/isotope/issues/144#issuecomment-4595552),这消除了修改同位素来源的需要。对于上面的示例,这可能类似于:
$('.element').filter('.col2, col3').filter('.text, .video')
这比生成一串可能的组合要简单得多。
.filter (http://api.jquery.com/filter/) 上的文档提供了有关高级过滤的更多信息。