Javascript 在jQuery或Massey中,我可以忽略一个项吗?
我有以下要筛选的项目列表:Javascript 在jQuery或Massey中,我可以忽略一个项吗?,javascript,jquery,jquery-isotope,masonry,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&g
<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>
…但我需要一个类似于忽略:'.filter'
的选项。这样做可行吗
整个目标是将过滤器放在容器中,采用相同的样式和转换
$container.isotope({
itemSelector : '.item:not(.filter)'
});
只需使用:not()
选择器即可
编辑:
您建议将其包括在初始同位素选择中,并将其作为同位素的一项,但不可过滤-至少这是我对您的理解。因此,要实现这一点,请保留您的原始:
$container.isotope({
itemSelector : '.item'
});
稍后,当您进行筛选时,只需始终包含,.filter
例如:
这几乎奏效了。功能和标记最终是正确的,但是CSS定位最终忽略了
.filter
项甚至存在,并且它显示在所有其他项下面。那么您希望从那时起忽略它什么呢?能够被过滤吗?是的。它永远不会消失,但它必须使用.item
类来继承所有动画和大小调整功能。它包括.filter
/“always on”类。起初它看起来有点粗糙,但一旦实现它就有意义了。谢谢大家:)
$container.isotope({
itemSelector : '.item'
});
//Assume something got clicked, which had a data-filter attribute.
var filters = $(this).data('filter');
$container.isotope({
filter: filters +', .filter'
});