0

删除选项后是否可以让 IE 7 / 8 重新计算选择框的宽度?我发现最大选项的宽度是“记住的”,并且在删除最大选项后,宽度不会像在好的浏览器中那样减小。

如果您在元素之后立即执行代码,则不会发生此问题,仅在 DOM 准备好后尝试操作选项时。克隆有效,但有更好的方法吗?

<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>

<select id="select">
    <option value="a">aaa</option>
    <option value="b">bbb bbb bbb bbb bbb bbb bbb bbb</option>
</select>

<script>

    // select box is emptied and resizes
    //$("#select").empty(); 

    // long option is removed and select resizes
    //document.getElementById("select").options.remove(1);  

    $(function(){

        // select does not resize after DOM ready
        $("#select").empty();

        // or with this:    
        //document.getElementById("select").options.remove(1);      

        /* cloning works 
        var $select = $("#select"),
            $clone = $select.clone();
        $clone.empty(); 
        $select.replaceWith($clone);
        */  
    });

</script>
4

0 回答 0