質問: d; // セレクトボックスにオプションを追加 selectElement.appendChild(option); } } ``` ``` 年 月 日 ```
回答: optionの数をとるなら .options.length ですね。 ただ、これだけでも解決しません。 なぜならsetToday()で回しているiはあくまでoptionの数だけしか回しません。 optionのバリューはそれぞれの年月日がそのまま入っています。 Nowには年月日がそれぞれ渡されます。 つまり「デフォルト本日」としたいのであれば、このやり方ではできませんので、 「optionのvalueを見て同じかどうか」とする必要があります。 ``` function setToday(select, Now) { for(var i = 0; i < select.options.length; i++){ if(select.options[i].value == Now){ select.options[i].selected = true; break; } } } ``` ※selectedは論理型であるため実値ではなくtrue/falseで行います。 参考: * option要素のtext部分をみてselect要素の値をJavascriptから変更する方法について