IEの時には document.all の方に処理が割り振られます。
IEではinsertBeforeがうまく動かなかったりするのでそのへんの対策のために処理をわけます。
if (document.all) { var option = document.createElement("OPTION"); option.value = value; option.text = text; option.selected = is_selected; if (select.options.length == 1 && select.options[0].value == ""){ select.options.remove(0); } select.add(option, select.options.length); } else { var option = document.createElement("OPTION"); option.value = value; option.text = text; option.selected = is_selected; if (select.options.length == 1 && select.options[0].value == ""){ select.removeChild(select.options[0]); } select.insertBefore(option, select.options[select.options.length]); }