JavaScriptでDOMオプション要素を動的に作成するための好ましい方法は何ですか? Optionコンストラクターと次のような実際のコードで使用されるcreateElementバリアントの両方を見つけました。
var option = new Option(text, value);
この:
var option = document.createElement('option');
option.text = text;
option.value = value;
これらの方法のいずれかで欠点/互換性の問題はありますか?また、オプションを動的に作成するために、何らかの理由で上記に優先される他の方法はありますか?
私が知っている2つの方法に違いはありません。 Option
コンストラクターを使用すると、オプションの値とテキストを簡単に設定できますが、value
およびtext
プロパティを使用して同じように設定できます。
innerHTML
の方法があったかもしれませんが、IE8以前はこれでハードに失敗します...
たとえば、新しいOption()を使用すると、IE10およびIE11で動作するIE9ではうまく動作しないことに気づきました。私は最近、元のコードに戻って変更を元に戻しました。IE9が機能するために、document.createElement( 'option')を使用して誰かが行った変更を元に戻しました。