insertBefore で、目印となるオブジェクトの前に挿入します。 これは、コンボボックスだけでは無く、全ての要素で実行できるので、 一番に最後に追加する appendChild では困る時に使います。
<SCRIPT type="text/javascript"> function insertOption() { var combo = document.frm.combo; var options = combo.getElementsByTagName("OPTION"); var target = document.createElement("OPTION"); target.setAttribute("value", "1.5"); var text = document.createTextNode("データ1.5") target.appendChild(text); combo.insertBefore(target,options[1]); } </SCRIPT> <FORM name="frm"> <SELECT name="combo" style='width:150px;'> <OPTION value="1">データ1</OPTION> <OPTION value="2">データ2</OPTION> <OPTION value="3">データ3</OPTION> <OPTION value="4">データ4</OPTION> </SELECT> </FORM> <INPUT type="button" value="リスト挿入" onclick='insertOption();'>
移動するには、そのオブジェクトを挿入するだけで、元あった場所からは消えます。
<SCRIPT type="text/javascript"> function moveOption() { var combo = document.frm.combo; var options = combo.getElementsByTagName("OPTION"); combo.insertBefore(options[2],options[1]); } </SCRIPT> <FORM name="frm"> <SELECT name="combo" style='width:150px;'> <OPTION value="1">データ1</OPTION> <OPTION value="2">データ2</OPTION> <OPTION value="3">データ3</OPTION> <OPTION value="4">データ4</OPTION> </SELECT> </FORM> <INPUT type="button" value="リスト移動" onclick='moveOption();'>
|