質問編集履歴

1

inputタグが空欄の状態でクリックしたときに不具合が出てしまったので、追記で質問させていただきました。

2020/01/07 06:29

投稿

nyoro
nyoro

スコア16

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,35 @@
129
129
 
130
130
 
131
131
  ・全ての条件に合致しない場合当然色の変化はないのですが、inputに3→1のように順に入力すると、赤のクラスが付与されたままなので3の倍数ではないのに赤色になってしまうという現象が起きます。それを回避する為、わざわざCSSに黒色のクラスを書いて指定するようにしているのですが、この書き方もあまり良いように思えないので、何か別の方法はないでしょうか。
132
+
133
+
134
+
135
+ ###追記
136
+
137
+ 皆さん回答ありがとうございます!
138
+
139
+ すみません!一点だけ不具合を見つけたのですが、input欄に何も入力されていない状態でボタンをクリックすると、中身が空のまま表示されて、色が紫になってしまいます。
140
+
141
+ inputが空欄の場合、「◆結果◆」の文字列と色は何も変化させたくないので、下記のように記述を変更しました。
142
+
143
+ ```js
144
+
145
+ if (num.length) {
146
+
147
+ result.text("◆" + num + "◆");
148
+
149
+ }
150
+
151
+
152
+
153
+ ```
154
+
155
+ とりあえず文字列の変更は止められたのですが、色が紫に変わってしまうのが直せませんでした。
156
+
157
+ 下記のように3かつ7で割ったときに0になる場合のみクラスを付与するように書いているのですが、何故紫色になってしまうのでしょうか。
158
+
159
+ ```js
160
+
161
+ num % 3 === 0 && num % 7 === 0
162
+
163
+ ```