たとえばこう
javascript
1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
2<script>
3$(function(){
4 $('.search span').on('click',function(){
5 $(this).addClass('is-active').siblings().removeClass('is-active');
6 var g=$(this).data('group');
7 if(g==""){
8 $('.list li').show();
9 }else{
10 $('.list li').hide();
11 $('.list [data-group*='+g+']').show();
12 }
13 });
14});
15</script>
16
17<style>
18.is-active{background-Color:black;color:white;}
19</style>
20<div class="search">
21 <span class="search_item is-active" data-group="">ALL</span>
22 <span class="search_item" data-group="a">グループA</span>
23 <span class="search_item" data-group="b">グループB</span>
24 <span class="search_item" data-group="c">グループC</span>
25</div>
26
27<ul class="list">
28 <li class="list_item" data-group="a,b,c">ロシア</li>
29 <li class="list_item" data-group="c">フランス</li>
30 <li class="list_item" data-group="b">ポルトガル</li>
31 <li class="list_item" data-group="c">デンマーク</li>
32 <li class="list_item" data-group="b">スペイン</li>
33 <li class="list_item" data-group="b">イラン</li>
34 <li class="list_item" data-group="a">サウジアラビア</li>
35 <li class="list_item" data-group="c">オーストラリア</li>
36 <li class="list_item" data-group="b">モロッコ</li>
37 <li class="list_item" data-group="a">エジプト</li>
38 <li class="list_item" data-group="a">ウルグアイ</li>
39 <li class="list_item" data-group="c">ペルー</li>
40</ul>
41
※今回はデータのセパレータに「,」を使用しましたが競合にきをつければ何をつかってもよいでしょう
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/22 04:24