Javascript Jquery适用于除IE以外的所有浏览器

Javascript Jquery适用于除IE以外的所有浏览器,javascript,jquery,html,css,Javascript,Jquery,Html,Css,对于IE,这段代码有效,我做了只有IE才能阅读的IE注释 <!--[if gt IE 6]> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> { //--my code $(d

对于IE,这段代码有效,我做了只有IE才能阅读的IE注释

<!--[if gt IE 6]>
<script type="text/javascript" 
        src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
{

    //--my code
    $(document).ready(function() 
    {
        $('.thumbnail').live("click", function() 
        {
            $('#mainImage').hide();
            $('#imageWrap').css('background-image', "url('ajax-loader.gif')");
            var i = $('<img />').attr('src',this.href).load(function() 
            {
                $('#mainImage').attr('src', i.attr('src'));
                $('#imageWrap').css('background-image', 'none');
                $('#mainImage').fadeIn();
            });
            return false; 
        });
    });
};


</script> <![endif]-->

对于其他所有浏览器,此代码都有效

<script type="text/javascript">
$(document).ready(function() {
    $('.thumbnail').live("click", function() {
        $('#mainImage').hide();
        $('#imageWrap').css('background-image', "url('ajax-loader.gif')");
        var i = $('<img />').attr('src',this.href).load(function() {
            $('#mainImage').attr('src', i.attr('src'));
            $('#imageWrap').css('background-image', 'none');
            $('#mainImage').fadeIn();
        });
        return false; 
    });
});


</script>

$(文档).ready(函数(){
$('.thumbnail').live(“单击”,函数(){
$('#main image').hide();
$('#imageWrap').css('background-image','url('ajax-loader.gif'));
变量i=$('

我得到了有效的代码,尽管他们各自做了不同的事情,但他们做了我需要他们做的事情。唯一的问题是IE不想阅读代码来做我需要的事情…我缺少了什么?提前感谢!

您的IE6版本中有太多的右括号,请参见此处:

});
}; <- delete me

IE6版本中的右大括号太多,请参见此处:

});
}; <- delete me
交换这两个:

$('<img />').attr('src',this.href).load(function()
$('
应该是

$('<img />').load(function(){...}).attr('src',this.href)...
$('
因此,一旦图像被缓存,它将在IE6-IE8中工作

参考此答案:

交换这两个选项:

$('<img />').attr('src',this.href).load(function()
$('
应该是

$('<img />').load(function(){...}).attr('src',this.href)...
$('
因此,一旦图像被缓存,它将在IE6-IE8中工作


参考此答案:

文档外部的大括号和右括号是否为代码的一部分。ready()是否为代码的一部分

取下第一个

{
也是最后一个

};

您不需要将所有内容都用大括号括起来。

文档外部的开始大括号和结束大括号是否都在您的代码中。ready()是代码的一部分吗

取下第一个

{
也是最后一个

};

你不需要将所有内容都用大括号括起来。

E以缓存著称。删除你的缓存文件,看看会发生什么。我做了什么,什么都没有,我也删除了所有历史记录,仍然什么都没有。有没有一种特殊的方法可以在没有管理员权限的情况下完成?E以缓存闻名。删除你的缓存文件,看看会发生什么。我做了什么,什么都没有,我删除了所有历史记录太多了,还是没什么。有没有一种特殊的方法,我需要在没有管理员权限的情况下完成它?这似乎没有什么区别。@Rocket看看我答案中的两个小提琴,一个在IE8中每次加载都能用,另一个只在第一次加载时才用。我正确地切换了它?`('background-image','url('ajax-loader.gif'));var i=
var i=$('(函数(){`我在Chrome上测试,没关系,我猜会在IE上测试。是的,Jakob,但是它实际上不会解决你的问题,matty的答案是什么会让你的代码运行。这只会修复一个奇怪的错误,如果没有修复的话,你以后可能会遇到这个错误。这似乎没有什么区别。@Rocket看到我答案中的两个小提琴,一个可以在IE8中处理每一个加载,另一个只能处理第一个加载。我将其切换为右键:`('background-image','url('ajax-loader.gif');var I=
var I=$('(function(){`我在Chrome上测试,没关系,我想在IE上也会。是的,Jakob,但是它实际上不会解决你的问题,matty的答案是什么会让你的代码运行。这只会修复一个奇怪的错误,如果不修复的话,你以后可能会遇到。啊,那是因为你有一个随机的
{
在函数上面!刚刚发现了,也去掉了。啊,那是因为在函数上面有一个随机的
{
!刚刚发现了,也去掉了。