在jQuery Isotope或Masonry中,我可以忽略一个项目吗?

dev*_*aly 3 javascript jquery jquery-isotope masonry

我有这个我要过滤的项目列表:

<ul id="container">
    <li class="item filter">This is where I'd put my filters</li>
    <li class="item">Item 1</li>
    <li class="item">Item 2</li>
    <li class="item">Item 3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

那么我想像这样执行它......

  $container.isotope({
    itemSelector : '.item'
  });
Run Code Online (Sandbox Code Playgroud)

...但我想要一个选项ignore: '.filter'.这样的事情是可行的吗?

整个目标是将过滤器放在容器内,采用相同的样式和过渡.

ahr*_*ren 7

$container.isotope({
    itemSelector : '.item:not(.filter)'
});
Run Code Online (Sandbox Code Playgroud)

只需使用:not()选择器.

编辑:

您建议将其包含在初始同位素选择中,并将其作为同位素的项目,除非不可过滤 - 至少这是我理解您的方式.
所以要实现这一点,请保留原文:

$container.isotope({
    itemSelector : '.item'
});
Run Code Online (Sandbox Code Playgroud)

稍后,当您执行过滤器时,只需始终包含, .filter
示例:

//Assume something got clicked, which had a data-filter attribute.
var filters = $(this).data('filter');
$container.isotope({
    filter: filters +', .filter'
});
Run Code Online (Sandbox Code Playgroud)