全ブラウザに対応するにはjavascriptが必要ですが、ある程度新しいものだけでよいなら
:checkedセレクタで判断してもよいかもしれません
css
1input.oritatami {display:none;}
2input.oritatami + h4>label:after{content:"→";}
3input.oritatami + h4 + div {display:none;}
4input.oritatami:checked + h4>label:after{content:"↓";}
5input.oritatami:checked + h4 + div {display:block;}
6
HTML
1<input type="checkbox" id="c1" class="oritatami">
2<h4><label for="c1">メニュー1</label></h4>
3<div>
4<ul>
5<li> メニュー1-1</li>
6<li> メニュー1-2</li>
7<li> メニュー1-3</li>
8</ul>
9</div>
10<input type="checkbox" id="c2" class="oritatami" checked>
11<h4><label for="c2">メニュー2</label></h4>
12<div>
13<ul>
14<li> メニュー2-1</li>
15<li> メニュー2-2</li>
16<li> メニュー2-3</li>
17</ul>
18</div>
19<input type="checkbox" id="c3" class="oritatami">
20<h4><label for="c3">メニュー3</label></h4>
21<div>
22<ul>
23<li> メニュー3-1</li>
24<li> メニュー3-2</li>
25<li> メニュー3-3</li>
26</ul>
27</div>
28
追記
:checkedが使えない場合のjQuery補足バージョンです
古いIEはチェックボックスを非表示にすると色々問題あるので表示外に飛ばしてしまいます
CSS
1input.oritatami {position:absolute;margin-top:-9999px;}
2label.open:after{content:"↓";}
3label.close:after{content:"→";}
4div.open{display:block;}
5div.close{display:none;}
javascript
1/* 別途jquery組み込むこと */
2$(function(){
3 $('input.oritatami[type=checkbox]').change(function(){
4 if($(this).prop('checked')){
5 var remove="close";
6 var add="open";
7 }else{
8 var remove="open";
9 var add="close";
10 }
11 $(this).nextAll('h4').first().children('label').addClass(add);
12 $(this).nextAll('h4').first().children('label').removeClass(remove);
13 $(this).nextAll('div').first().addClass(add);
14 $(this).nextAll('div').first().removeClass(remove);
15 }).change();
16});
17
HTML
1<input type="checkbox" id="c1" class="oritatami">
2<h4><label for="c1">メニュー1</label></h4>
3<div>
4<ul>
5<li> メニュー1-1</li>
6<li> メニュー1-2</li>
7<li> メニュー1-3</li>
8</ul>
9</div>
10<input type="checkbox" id="c2" class="oritatami" checked>
11<h4><label for="c2">メニュー2</label></h4>
12<div>
13<ul>
14<li> メニュー2-1</li>
15<li> メニュー2-2</li>
16<li> メニュー2-3</li>
17</ul>
18</div>
19<input type="checkbox" id="c3" class="oritatami">
20<h4><label for="c3">メニュー3</label></h4>
21<div>
22<ul>
23<li> メニュー3-1</li>
24<li> メニュー3-2</li>
25<li> メニュー3-3</li>
26</ul>
27</div>
28
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/23 05:52