javascript - jquery 函数在 safari 中无法工作,但在其他浏览器中可以正常工作

标签 javascript jquery safari

我正在编写以下代码。我想仅显示取决于第一个选定值的选项元素。因为这段代码在 chrome 中可以正常工作,但在 safari 中却不能。 hide()show() 函数不起作用。我如何改进这段代码,以便它也能在 Safari 中工作? 我的html代码如下:

<body>
<select id="shopcategory">
    <option></option>
    <option value="american" selected="selected">american</option>
    <option value="indian">indian</option>
    <option value="chinese">chinese</option>
</select>
<select id="shop-ar">
    <option class="american">1</option>
    <option class="american">2</option>
    <option class="american">3</option>
    <option class="indian">4</option>
    <option class="indian">5</option>
    <option class="indian">6</option>
    <option class="chinese">7</option>
    <option class="chinese">8</option>
    <option class="chinese">9</option>
</select>

我的jquery代码如下:

$(document).ready(function(){          
    $("#shopcategory").change(function(){
        select= $("#shopcategory option:selected").attr("value");
        $("#shop-ar").children().each(function(){
            if($(this).attr("class")== select){
        //  only selected category options must be displayed  
                $(this).show();
            }
            else{
                $(this).hide();
            }
        })
    })
})

最佳答案

$(document).ready(function(){          
$("#shopcategory").change(function(){

var select = $("#shopcategory option:selected").attr("value");
// alert(select);

$("#shop-ar").children().each(function(){
    //$(".american").hide();
    // alert($(this).attr("id"));
    if($(this).attr("class") == select){
        $(this).append();
    }
    else{
        $(this).detach();
    }
   });
 });
});

您可以在 .show() 和 .hide() 函数的位置使用 .append() 和 .detach() 函数,因为它们在 safari 和其他浏览器中可以更好地工作。

关于javascript - jquery 函数在 safari 中无法工作,但在其他浏览器中可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47314873/

相关文章:

javascript - Qualtrics REST API

javascript - 替换损坏的图像并使用 javascript 调整错误图像的大小

javascript - 需要帮助了解如何在 TinyMCE 中使用 setContent() 函数

使用 AJAX 加载的 Javascript 和 MVC4 部分 View

javascript - 使用 javascript 更新后替换 JSON 对象

javascript - makeStyles 的 Material UI 问题

javascript - 需要像工具提示一样的 html 弹出窗口帮助

javascript - 是否可以在 Safari 6 中启用 JavaScript 源映射?

javascript - 当日期更改时,setInterval 在 safari 浏览器中停止工作

javascript - JQuery 更改功能在 safari 浏览器中不起作用