zoukankan      html  css  js  c++  java
  • DOM 元素操作select

    select动态加option的问题。。

    var selectId = document.getElementById("unSelectedServer");//unSelectedServer这个为select选择器

    selectId.add(new Option("111","111"));这个在IE下是可用的,但在FF下不行

    selectId.options.add(new Option("111", "111"));这个在IE和FF下均可用,new Option的时候,O要大写,不然会报错

    for (var i = 1; i <= 5; i++) {

       var oOption = document.createElement("option");
        oOption.appendChild(document.createTextNode("192.168.2" + i));//这个为select的text属性值
        //oOption.setAttribute("Text", "192.168.2"+i);//text属性值用这种写法无效,为什么呢
        oOption.setAttribute("value", i);//value属性值可用这样写
        selectId.appendChild(oOption);
    }

    动态加载option

    写法一,

    var oOption = document.createElement("option");
    oOption.text =”dddd”;

    oOption.value=”dddddddd”;

    selectId.appendChild(oOption);

    这种写法在FF有效,在IE下只能显示空白

    由于IE和FF对DOM的操作有所区别,故而导致IE下显示为空白列表,因为在IE下必须先得到节点后方能为该节点添加子节点或者属性值。

    写法二,

    var oOption = document.createElement("option");
    oOption.text =”dddd”;

    oOption.value=”dddddddd”;

    selectId.add(oOption);

    现象二,理由很简单,FF就是不支持add()的方式添加子节点。而IE为add做过特殊的处理,故而可以得到意向的结果。

    补充,以上三种代码在safari下均可以正常运行,不错的浏览器,就像他的外表一样有魅力。

  • 相关阅读:
    Android由一个activity 间隔5秒自动跳转到另外一个activity
    ZXing二维码的生成和解析
    JAVA生成条形码
    JAVA生成带Logo的二维码
    JAVA操作MongoDB数据库
    MongoDB数据库的简介及安装
    Redis在windows下的安装使用
    class关键字
    遍历器接口
    Promise对象
  • 原文地址:https://www.cnblogs.com/zqstc/p/1615967.html
Copyright © 2011-2022 走看看