Jquery没有在IE 7,8上工作

时间:2013-05-08 22:53:15

标签: jquery internet-explorer

为什么javascript不在这里工作:{7}在IE 7和8上具体? Jquery:Object的第一个美元符号上的错误不支持此属性或方法。

整个代码:

    <!--[if IE]>
        <link rel="stylesheet" type="text/css" href="/css/ie.css" media="screen" />
        <script src="js/json2.js"></script>
    <![endif]-->

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>


    <script type="text/javascript">
    $(function () {
        $('#vertical-filters input').attr('checked', true);//Set checkboxes as checked by default
        getCustomers(); //Initially call all customers

        function getCustomers()
        {   
            $('ul#customers').html('');//empty list
            var definedCategoryArray=new Array();

            for(var x=0; x< $('#vertical-filters li input').length; x++){
                var thisItem=$('#vertical-filters li input')[x];
                var thisItemName=$(thisItem).attr('id');
                if ($(thisItem).is(':checked'))
                    definedCategoryArray[thisItemName]=true;
                else
                    definedCategoryArray[thisItemName]=false;
            }

            $.getJSON('customers.json', function(data) {
                for(var index in definedCategoryArray){ //cycle through categories array
                    console.log(index + ':' + definedCategoryArray[index]);
                    for(var i=0; i<data.customers.length; i++){ //cycle through json data
                        if (definedCategoryArray[index]==true){//if the value in the array is true (item checked)
                                if(data.customers[i].category == index) //match category (from definedCategoryArray index) to items in json object to parse
                                    $('ul#customers').append('<li class="customerListItems"><a href="'+ data.customers[i].link +'"><img src="'+ data.customers[i].imageLink +'" alt="'+ data.customers[i].customerName +'" /></a></li>');
                        }
                    }
                }
            }).fail(function() { console.log( "error" ); });
        }

        //Toggle select all/deselect function
        $('.selectAllBoxes').unbind('click').bind('click', function (e) {
                e.preventDefault();
                var checkBoxes = $('#vertical-filters input');
                checkBoxes.prop("checked", !checkBoxes.prop("checked"));
                getCustomers();
        });

        //Check box checked function
        $('#vertical-filters input').change(function(){
            getCustomers();
        });


    }); 
    </script>
</head>

1 个答案:

答案 0 :(得分:4)

jQuery 2.0已经放弃了对IE版本6,7和8的支持,并且不起作用。从发行说明:

  

不再支持IE 6/7/8:请记住,如果它们用于模拟旧版本的“兼容性视图”模式,这也会影响IE9甚至IE10。为了防止这些较新的IE版本重新回到史前模式,我们建议您始终使用X-UA兼容标签或HTTP标头。如果您可以使用HTTP标头,那么性能稍好一些,因为它可以避免潜在的浏览器解析器重启。

来源:jQuery 2.0 Released

您可以尝试使用1.9代替。