回答編集履歴

1

おまけ

2022/11/08 08:44

投稿

Cocode
Cocode

スコア2314

test CHANGED
@@ -1,3 +1,4 @@
1
+ ### 誤字修正
1
2
  単純にセレクターの誤字です。
2
3
  `#box` → `#box1`
3
4
 
@@ -17,3 +18,78 @@
17
18
  });
18
19
  });
19
20
  ```
21
+
22
+ ---
23
+ ### JS書く場所を一つに決める
24
+ ↓これはおかしいです。
25
+ ```html
26
+ <script src="index.js">
27
+ $(function(){
28
+ $('#button').on("click", function () {
29
+ var text = $('#value').val();
30
+ if(text === '赤'){
31
+ $('#box').css('background-color','#ff0000');
32
+ }
33
+ if(text === '青'){
34
+ $('#box').css('background-color','#0000ff');
35
+ }
36
+ if(text === '緑'){
37
+ $('#box').css('background-color','#008000');
38
+ }
39
+ });
40
+ });
41
+ </script>
42
+ ```
43
+
44
+ ↓下記のうちいずれかにしてください。
45
+ ```html
46
+ <!-- htmlの中にJSコードは書かない。index.jsの中にかく -->
47
+ <script src="index.js"></script>
48
+
49
+ <!-- または、htmlの中にJSを書くなら、srcでindex.jsを読み込むのをやめる -->
50
+ <script>
51
+ $(function(){
52
+ $('#button').on("click", function () {
53
+ var text = $('#value').val();
54
+ if(text === '赤'){
55
+ $('#box').css('background-color','#ff0000');
56
+ }
57
+ if(text === '青'){
58
+ $('#box').css('background-color','#0000ff');
59
+ }
60
+ if(text === '緑'){
61
+ $('#box').css('background-color','#008000');
62
+ }
63
+ });
64
+ });
65
+ </script>
66
+ ```
67
+
68
+ ---
69
+
70
+ ### おまけ
71
+ - 何度も`$('#box1').css(...);`と同じことを書いているのが気になったので、1つにまとめるようにしました。
72
+ - 赤青緑以外の色が指定されたらアラートを出すようにしてみました。
73
+
74
+ ```javascript
75
+ $(function() {
76
+ $('#button').on("click", function() {
77
+ var text = $('#value').val();
78
+
79
+ // カラーコードを選択
80
+ var color = {
81
+ '赤': '#ff0000',
82
+ '青': '#0000ff',
83
+ '緑': '#008000'
84
+ }[text];
85
+
86
+ // 該当する色がなかったら、アラートを出し、ここで処理を終了(以降は実行されない)
87
+ if (!color) {
88
+ alert('そんな色ないよ');
89
+ return false;
90
+ }
91
+
92
+ $('#box1').css('background-color', color);
93
+ });
94
+ });
95
+ ```