web-dev-qa-db-ja.com

JavaScriptでオプション要素を動的に作成する

JavaScriptでDOMオプション要素を動的に作成するための好ましい方法は何ですか? Optionコンストラクターと次のような実際のコードで使用されるcreateElementバリアントの両方を見つけました。

var option = new Option(text, value);

この:

var option = document.createElement('option');
option.text = text;
option.value = value;

これらの方法のいずれかで欠点/互換性の問題はありますか?また、オプションを動的に作成するために、何らかの理由で上記に優先される他の方法はありますか?

18
GOTO 0

私が知っている2つの方法に違いはありません。 Optionコンストラクターを使用すると、オプションの値とテキストを簡単に設定できますが、valueおよびtextプロパティを使用して同じように設定できます。

innerHTMLの方法があったかもしれませんが、IE8以前はこれでハードに失敗します...

12
MaxArt

たとえば、新しいOption()を使用すると、IE10およびIE11で動作するIE9ではうまく動作しないことに気づきました。私は最近、元のコードに戻って変更を元に戻しました。IE9が機能するために、document.createElement( 'option')を使用して誰かが行った変更を元に戻しました。

1
goe