我正在学习jQuery,我用基础知识制作了一个简单的选择过滤器,目的是学习新技术。我的问题是,有没有更好、更复杂的方法来做到这一点:
https://codepen.io/frivolta/pen/LLwjjy$(".elementFilter li").on("click",eventTrigger);
function eventTrigger(){
var getFilterName = $(this).attr("class");
if(getFilterName!="all"){
$(".elementList li:not([data-category='"+getFilterName+"'])").hide();
$(".elementList [data-category='"+getFilterName+"']").show();
}else{
$(".elementList li").show();
}
}
<div class="elements">
<ul class="elementFilter">
<li class="all">Show all</li>
<li class="filterOne">Filter One</li>
<li class="filterTwo">Filter Two</li>
<li class="filterThree">Filter Three</li>
<li class="filterFour">Filter Four</li>
</ul>
<ul class="elementList">
<li data-category="filterOne">Filter One</li>
<li data-category="filterTwo">Filter Two</li>
<li data-category="filterThree">Filter Three</li>
<li data-category="filterFour">Filter Four</li>
</ul>
</div>
我希望能将函数和传递参数之间进行分离,如果您有任何建议,我会非常乐意听取。 谢谢, F。