teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ミスがあったため修正。

2019/10/18 07:31

投稿

kei344
kei344

スコア69625

answer CHANGED
@@ -1,2 +1,27 @@
1
1
  `$('.q').css('background','#fff');` は実行された時点に存在する全ての`.q`の背景を白にする処理になります。
2
- なので、appendする際に個別にフラグを付けるか、switch の直後に`$('.q').removeClass('q');`を入れるかしたらよいです。
2
+ なので、appendする際に個別にフラグを付けるか、switch の直後に`$('.q').removeClass('q');`を入れるかしたらよいです。
3
+ (訂正:`q`にスタイル設定されているのを見落としていたので、下記コードのように捨てクラス`x`を準備しました)
4
+
5
+ ```JavaScript
6
+ for (let i = 0; i < 5; i++) {
7
+ $('.w').append('<div class="x q"></div>');
8
+ switch (i) {
9
+ case 0:
10
+ $('.x').css('background','#fff');
11
+ break;
12
+ case 1:
13
+ $('.x').css('background','#eee');
14
+ break;
15
+ case 2:
16
+ $('.x').css('background','#ddd');
17
+ break;
18
+ case 3:
19
+ $('.x').css('background','#ccc');
20
+ break;
21
+ case 4:
22
+ $('.x').css('background','#bbb');
23
+ break;
24
+ }
25
+ $('.x').removeClass('x');
26
+ }
27
+ ```**動くサンプル:**[https://jsfiddle.net/vf5sp1L9/](https://jsfiddle.net/vf5sp1L9/)