天天看點

關于select 在不同浏覽器下的jquery操作相容性問題

測試代碼如下:

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--    <script src="res/js/jquery-1.12.3.js"></script>-->
    <script type="text/javascript" src="res/js/jquery-1.12.3.js"></script>
</head>
<body>
    <label>城市</label>
        <select id="city" >
            <option value=""></option>
            <option value="0">北京</option>
            <option value="1">上海</option>
            <option value="2">廣州</option>
            <option value="3">深圳</option>
            <option value="4">杭州</option>
            <option value="5">成都</option>
        </select>

    <button class="btn" id="get_value">擷取</button>
    <button class="btn" id="set_value">根據value設定</button>
    <button class="btn" id="set_text">根據text設定</button>

<script>
        $(".btn").click(function() {
            var id = $(this).attr('id');
            if (id == "get_value") {
                s1 = $("#city option:selected").text();//擷取選中option文本
                alert(s1);
            }
            if (id === "set_value") {
                 $("#city").find("option[value='2']").attr("selected", true); //該方法在非IE浏覽器下隻能第一次有效(IE下面完全正常),原因為
              //  $("#city").val('2'); //根據value值選中option,這個是首選,簡單高效
            }
            if (id === "set_text") {
                 $("#city option:contains(杭州)").attr("selected",true);  //貌似隻能用一次(但在IE下面完全正常)
            }
    });
</script>
</body>
</html>
           

可以确定,相同的js操作不停切換,在IE下均正常。在Chrome下異常,隻能工作一次。之前還以為是layui的鍋。這次完全不用layui也這樣。一切換IE浏覽器就正常了。

關于select 在不同浏覽器下的jquery操作相容性問題

繼續閱讀