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下均可以正常运行,不错的浏览器,就像他的外表一样有魅力。

  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/zqstc/p/1615967.html
Copyright © 2011-2022 走看看