JavascriptでIEとそれ以外のブラウザとで処理を分ける

@iwasaki 75views 更新:2015年9月2日

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]);
  }

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません