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

  • 相关阅读:
    多线程的创建方式
    ArrayList 初探
    java创建对象的几种方式
    select2动态查询及多选
    RabbitMQ 消息发送、消息监听
    tr命令
    集群,分布式,微服务概念和区别理解
    xargs命令
    shell中的EOF用法
    字段分隔符IFS
  • 原文地址:https://www.cnblogs.com/zqstc/p/1615967.html
Copyright © 2011-2022 走看看