以下代码是IE 10无法正确提取的html表单的开头部分。即使IE10中明确指示它不应,但IE10只是忽略了jQuery,并且显示了整个表单。此代码在firefox / chrome / IE9 / Safari下可以完美运行。只是IE10引起了问题。非常感谢

<!DOCTYPE html>
<html lang="en">
<head>
    <title>company</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="css/style.css" type="text/css">
    <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="js/script.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            /*Hiding the form */
            $(".1").css("display", "none");
            $(".2").css("display", "none");
            $(".3").css("display", "none");
            $(".4").css("display", "none");

            function goToByScroll(id){
                $('html,body').animate({scrollTop: $("#"+id).offset().top},'bottom');
            }

            $("input:radio[name=query-form][disabled=false]:last").attr('checked', true);

            $("input:radio[name=query-form]").click(function () {
                $(".1").css("display", "none");
                $(".2").css("display", "none");
                $(".3").css("display", "none");
                $(".4").css("display", "none");

                $("#country").click(function() {
                    $("html, body").animate({ scrollTop: $(document).height() }, "slow");
                    return false;
                });

                goToByScroll("country");
                if ($("#option1").is(":checked"))
                    $(".1").show("fast");
                else if ($("#option2").is(":checked"))
                    $(".2").show("fast");
                else if ($("#option3").is(":checked"))
                    $(".3").show("fast");
                else if ($("#option4").is(":checked"))
                    $(".4").show("fast");

            });
        });
    </script>

    <!--[if lt IE 8]>
        <div style='clear:both; text-align:center; position:relative;'><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0000_us.jpg" border="0" alt="" /></a></div>
    <![endif]-->
    <!--[if lt IE 9]>
        <script type="text/javascript" src="js/html5.js"></script>
        <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen">
    <![endif]-->
</head>


我们使用此以前的代码解决了问题,现在您能告诉我为什么下面的代码在IE10中不起作用。这与上面的非常相似,但是这次我们要处理下拉菜单。同样,此代码可以在所有其他浏览器中找到。 IE10似乎真的很古怪。

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Company</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="css/style.css" type="text/css">
    <script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="js/script.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            /*Hiding the form */
            $(".install_download").css("display", "none");
            $(".hosted_install").css("display", "none");
            $(".reseller_install").css("display", "none");

            function goToByScroll(id){
                $('html,body').animate({scrollTop: $("#"+id).offset().top},'bottom');
            }

                goToByScroll("country");

                $(".subject_category").change(function(){

                    $(".install_Download").css("display", "none");
                    $(".hosted_install").css("display", "none");
                    $(".reseller_install").css("display", "none");

                    switch ($(".subject_category option:selected").text()) {
                        case "General Enquiry":
                            $(".General_Enquiry").show("fast");
                            break;
                        case "Install/Download":
                            $(".install_download").show("fast");
                            goToByScroll("message");
                            break;
                        case "Hosted Install":
                            $(".hosted_install").show("fast");
                            goToByScroll("message");
                            break;
                        case "Solution Provider - Install":
                            $(".reseller_install").show("fast");
                            goToByScroll("message");
                            break;
                    }
                });
        });
    </script>

    <!--[if lt IE 8]>
        <div style='clear:both; text-align:center; position:relative;'><a href="http://www.microsoft.com/windows/internet-explorer/default.aspx?ocid=ie6_countdown_bannercode"><img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0000_us.jpg" border="0" alt="" /></a></div>
    <![endif]-->
    <!--[if lt IE 9]>
        <script type="text/javascript" src="js/html5.js"></script>
        <link rel="stylesheet" href="css/ie.css" type="text/css" media="screen">
    <![endif]-->
</head>

最佳答案

基本上是CSS类名称,必须以下划线(_),破折号(-)或字母(a–z)开头,而不是您所需要的数字,后跟任意数量的破折号,下划线,字母或数字。有一个陷阱:如果第一个字符是破折号,第二个字符必须是字母或下划线,并且名称必须至少两个字符长:

-?[_a-zA-Z]+[_a-zA-Z0-9-]*


以短划线或下划线开头的标识符通常保留给特定于浏览器的扩展名,如-moz-opacity所示。

包含转义的Unicode字符(没人真正使用过)使一切变得更加复杂。

请注意,根据CSS grammar,规则以两个破折号开头,例如--indent1,无效。但是,我很确定我已经在实践中看到了这一点。

关于jquery - 在Firefox和Chrome上运行的jQuery脚本,但是在ie 10上没有使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14140351/

10-12 05:08