回答編集履歴

1

ミスがあったため修正。

2019/10/18 07:31

投稿

kei344
kei344

スコア69458

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