回答編集履歴

1

追記

2016/09/23 05:14

投稿

yambejp
yambejp

スコア114883

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  <h4><label for="c1">メニュー1</label></h4>
30
30
 
31
- <div id="o1">
31
+ <div>
32
32
 
33
33
  <ul>
34
34
 
@@ -46,7 +46,7 @@
46
46
 
47
47
  <h4><label for="c2">メニュー2</label></h4>
48
48
 
49
- <div id="o2">
49
+ <div>
50
50
 
51
51
  <ul>
52
52
 
@@ -64,7 +64,7 @@
64
64
 
65
65
  <h4><label for="c3">メニュー3</label></h4>
66
66
 
67
- <div id="o3">
67
+ <div>
68
68
 
69
69
  <ul>
70
70
 
@@ -81,3 +81,123 @@
81
81
 
82
82
 
83
83
  ```
84
+
85
+
86
+
87
+ # 追記
88
+
89
+ :checkedが使えない場合のjQuery補足バージョンです
90
+
91
+ 古いIEはチェックボックスを非表示にすると色々問題あるので表示外に飛ばしてしまいます
92
+
93
+ ```CSS
94
+
95
+ input.oritatami {position:absolute;margin-top:-9999px;}
96
+
97
+ label.open:after{content:"↓";}
98
+
99
+ label.close:after{content:"→";}
100
+
101
+ div.open{display:block;}
102
+
103
+ div.close{display:none;}
104
+
105
+ ```
106
+
107
+ ```javascript
108
+
109
+ /* 別途jquery組み込むこと */
110
+
111
+ $(function(){
112
+
113
+ $('input.oritatami[type=checkbox]').change(function(){
114
+
115
+ if($(this).prop('checked')){
116
+
117
+ var remove="close";
118
+
119
+ var add="open";
120
+
121
+ }else{
122
+
123
+ var remove="open";
124
+
125
+ var add="close";
126
+
127
+ }
128
+
129
+ $(this).nextAll('h4').first().children('label').addClass(add);
130
+
131
+ $(this).nextAll('h4').first().children('label').removeClass(remove);
132
+
133
+ $(this).nextAll('div').first().addClass(add);
134
+
135
+ $(this).nextAll('div').first().removeClass(remove);
136
+
137
+ }).change();
138
+
139
+ });
140
+
141
+
142
+
143
+ ```
144
+
145
+ ```HTML
146
+
147
+ <input type="checkbox" id="c1" class="oritatami">
148
+
149
+ <h4><label for="c1">メニュー1</label></h4>
150
+
151
+ <div>
152
+
153
+ <ul>
154
+
155
+ <li> メニュー1-1</li>
156
+
157
+ <li> メニュー1-2</li>
158
+
159
+ <li> メニュー1-3</li>
160
+
161
+ </ul>
162
+
163
+ </div>
164
+
165
+ <input type="checkbox" id="c2" class="oritatami" checked>
166
+
167
+ <h4><label for="c2">メニュー2</label></h4>
168
+
169
+ <div>
170
+
171
+ <ul>
172
+
173
+ <li> メニュー2-1</li>
174
+
175
+ <li> メニュー2-2</li>
176
+
177
+ <li> メニュー2-3</li>
178
+
179
+ </ul>
180
+
181
+ </div>
182
+
183
+ <input type="checkbox" id="c3" class="oritatami">
184
+
185
+ <h4><label for="c3">メニュー3</label></h4>
186
+
187
+ <div>
188
+
189
+ <ul>
190
+
191
+ <li> メニュー3-1</li>
192
+
193
+ <li> メニュー3-2</li>
194
+
195
+ <li> メニュー3-3</li>
196
+
197
+ </ul>
198
+
199
+ </div>
200
+
201
+
202
+
203
+ ```