我已将所有投资组合项目收集到一个数组中,如下所示。
function SetPortfolioItems(filter) {
items = $( ".portfolio-item" );
items.toggle("slow");
}
函数参数是一个字符串类名,例如“Print”。我想要做的是隐藏没有“过滤器”类的投资组合项目以及具有“过滤器”类的项目,使它们可见。
最佳答案
对于您的问题:
What I want to do is hide the portfolio items which don't have the class 'filter' and the ones that do, make them visible.
你可以这样做:
function SetPortfolioItems(filter) {
var str = filter.toLowerCase();
var invalidItems = $( ".portfolio-item:not(."+str+")");
invalidItems.hide("slow");
var validItems = $( ".portfolio-item." + str );
validItems.show("slow");
}
SetPortfolioItems('filter');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="portfolio-item">item 1</div>
<div class="portfolio-item filter">item 2</div>
<div class="portfolio-item">item 3</div>
<div class="portfolio-item filter">item 4</div>
<div class="portfolio-item">item 5</div>
<div class="portfolio-item">item 6</div>
关于javascript - jquery 切换可见性(如果有类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35605535/