[javascript学习指南]javascript中select的option异常的总结

更新时间:2019-08-06    来源:班主任工作总结    手机版     字体:

【www.bbyears.com--班主任工作总结】

昨天,在项目中碰到了option显示异常的原因,截图如下:

Firefox中用css控制之后效果

QQ图片20141102122624

chrome和IE中css不奏效

QQ图片20141102122607

代码:

 代码如下


        
    

调试了很久,在网上也找了方法,最终无果,只要去请教大牛了。大牛建议我去查看一下源代码,是不是样式改变了?这段代码的select部分没有任何样式,怎么会多?看了源代码之后,样式的确没有多,但是每个option后面多了一个.又回头看了代码,才明白,我把写在了内循环中,按照我的逻辑,本应该放在外循环。调整之后,一切正常。

补充一个:

select 是列表型元素中的一个很重要的代表。总结下他的一些书写注意事项。

 1.关于innerHTML ,在ie下不支持innerHTML的形式添加option选项,firefox,chrome是支持的。

 2.添加option,使用 ele.options.add(option) ,但是这里的option 可以是new Option(text,value)的形式构造的,也可以是通过

原生的函数document.createElement函数创建的。此外add的方式不会覆盖以前的。option不能是html的形式。

 3.选定特定的一个option的方式 ele.value = option.value;反之,如果当前是特定的option的话,

那么ele的值一定就是option.value;

 4.获得选定的option的值还有另一个方式(我不太推荐)ele.options[ele.selectedIndex].value,这个尽管复杂一点,但是说明一个问题,

 即列表型元素的列表项有一个索引的概念。

 代码如下




   
   
   


   
    <script type="text/javascript">
    function $(id){
        return document.getElementById(id);
    }
    function render(){
        for(var i = 0 ;i < 100;i++){
            var ele = document.createElement("option");
                ele.text ="etcyby" + i;
                ele.value  = i;
            $("test").options.add(ele);
        }
        $("test").value = "99"
        //alert($("test").options[$("test").selectedIndex].value);
    }
    function render2(){
        $("test").innerHTML = "";
    }
    render();
    </script>

本文来源:http://www.bbyears.com/banzhurengongzuo/60481.html

猜你感兴趣

热门标签

更多>>

本类排行