【Javascript】動的に生成したoption要素のtextが反映されない(IEで) その2
option.text を使った場合の困りごとを書いたことがありますが、DOM関数版も書いてみます。option.textやoption.innerTextは使いません。こちらのほうがより汎用的、標準寄りかなと思います。
サンプルコード
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>セレクトボックステスト</title> <script type="text/javascript"> function addOption() { var select = document.getElementById('sample') var option = document.createElement('option') option.value = "123456" //画面に表示されるテキスト部分は createTextNode で作って、optionの子要素として追加 option.appendChild(document.createTextNode('表示用文字列')) //プルダウンに追加 select.appendChild(option) } </script> </head> <body> <select id="sample"> <option> - - - - </option> </select> <input type="button" value="option追加" onclick="addOption()" /> </body> </html>
動作サンプル
ボタンを押した後、セレクトボックスを開かないと増えた様子が分かりませんが…
動作は、Firefox、IE6(WindowsXP)、IE7(WindowsXP)、IE8(WindowsVista)、Opera、Chrome で確認。
ちなみに、 element.setAttribute(“value”, “123”) はやりません。何が起きるかはまた次回。
【Javascript】動的に生成したoption要素のtextが反映されない(IEで) at softelメモ 2010年3月13日 12:00
[…] <追記> よければこちらもどうぞ → より汎用的 DOM関数版 […]