回答編集履歴
1
コメント追加、コードの不足を修正
test
CHANGED
@@ -78,9 +78,13 @@
|
|
78
78
|
|
79
79
|
const dateSelect = document.getElementById('selectId3');
|
80
80
|
|
81
|
-
// 要素の作成は changeSelect2() とやることは同じなので、
|
81
|
+
// 要素の作成は changeSelect1(), changeSelect2() とやることは同じなので、
|
82
82
|
|
83
|
+
// そちらを呼び出すだけにする
|
84
|
+
|
83
|
-
changeSelect
|
85
|
+
changeSelect1(); // ← うるう年の判定
|
86
|
+
|
87
|
+
changeSelect2(); // ← 日付の <option> の生成
|
84
88
|
|
85
89
|
dateSelect.value = now.getDate(); // 今日の日にする
|
86
90
|
|
@@ -94,11 +98,15 @@
|
|
94
98
|
|
95
99
|
function changeSelect1() {
|
96
100
|
|
97
|
-
// new Date('2019-02-29') し
|
101
|
+
// うるう年ではない年、たとえば2019年で new Date('2019-02-29') として
|
98
102
|
|
99
|
-
//
|
103
|
+
// Dateのインスタンスを生成したとき、そのインスタンスが示す日付は自動的に
|
100
104
|
|
101
|
-
//
|
105
|
+
// 3月1日になって、 getMonth() の値が3月になる。
|
106
|
+
|
107
|
+
// つまり、「うるう年か?」 は、「(new Date(xxxx-02-29)).getMonth() が 3月か?」
|
108
|
+
|
109
|
+
// と言い換えることができる。
|
102
110
|
|
103
111
|
isLeapYear = (new Date(document.getElementById('selectId1').value + '-02-29')).getMonth() === 1;
|
104
112
|
|
@@ -183,3 +191,7 @@
|
|
183
191
|
}
|
184
192
|
|
185
193
|
```
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
Mar 24, 2020 10:51 AM : コメント追加、コードの不足を修正
|