为什么我的jQuery在Internet Explorer 6中不起作用?

时间:2009-04-23 05:46:54

标签: jquery internet-explorer-6

我正在设计一个网页,我正在使用jQuery。

该网页使用Ajax。 Internet Explorer 6及更低版本无法正确显示页面。即使是Ajax代码似乎也不起作用。

代码:

jQuery(document).ready(function($) {
    // Hide all sub heading lists
    $("#content1").load("sub/image1.html");
    $("li[@id^='cont']").click(function(){
         var current_id=$(this).attr('id');
         switch(current_id){
             case 'content_1':$("#content1").load("sub/my.html");break;
             default:;
         }
    });
});

该代码在Internet Explorer 7,Internet Explorer 8,Chrome和Firefox中运行良好。在Internet Explorer 6或更低版本中,它不起作用。

我做错了什么?

3 个答案:

答案 0 :(得分:1)

我真的不确定它为什么不起作用,但您可以尝试将jQuery升级到1.3版。

如果您已经升级到1.3,那么您的脚本将失败,因为在jQuery 1.2中不推荐使用属性名称之前的@。拿出来,看看情况如何。

$("li[id^='cont']").click(function() { ...

答案 1 :(得分:0)

只是一些想法:

  • 而不是jQuery(document).ready(),请尝试使用$(document).ready()

  • $("li[@id^='cont']")可能是导致IE 6中出现问题的行。您似乎只是尝试选择id以{{1开头}的所有<li>个项目}}。相反,您可以尝试为所有cont类提供<li>s,然后是代码:

    contLi 将选择与以前相同的$(".contLi"),它也可以在IE 6中使用。

答案 2 :(得分:0)

这可能与default:;有关。我在过去发现Internet Explorer 6有时候不喜欢你在那里应该有东西时留下空白,即使它在技术上并不正确。

请尝试default: break;