我正在设计一个网页,我正在使用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或更低版本中,它不起作用。
我做错了什么?
答案 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;
。