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

回答編集履歴

1

追記

2015/05/27 04:03

投稿

orange0190
orange0190

スコア1698

answer CHANGED
@@ -6,4 +6,32 @@
6
6
  selectElement.removeChild(child); //セレクトボックスから子要素を削除
7
7
  }
8
8
  ```
9
- このコードを各セレクトボックス作成前に記述してください。
9
+ このコードを各セレクトボックス作成前に記述してください。
10
+
11
+ 以下追記
12
+ ------------------------------------------------------------------------------------------
13
+ javascriptでは、以下のような形でifもしくはwhileを利用することができます。
14
+ ```lang-javascript
15
+ if(変数){
16
+ }
17
+
18
+ while(変数){
19
+ }
20
+ ```
21
+ このような形で利用する場合、変数が空文字、0、null、undefined、falseの場合に偽と判定されます。
22
+ したがって、先ほどのコードでは、
23
+ ```lang-javascript
24
+ child = selectElement.firstChild
25
+ ```
26
+ でセレクトボックスの最初の子要素を取得し、
27
+ ```lang-javascript
28
+ while(child){
29
+ }
30
+ ```
31
+ で子要素が取得できなくなる(子要素がない場合にはnullになる)までループしています。
32
+ この2つを組み合わせて
33
+ ```lang-javascript
34
+ while(child = selectElement.firstChild){
35
+ }
36
+ ```
37
+ としています。