Google 充满了这个问题,但其他页面都没有帮助我。
我尝试过更改 jquery 版本,尝试执行整个 var $j = jQuery.noConflict();,尝试重新排列 JS/jquery 脚本,尝试了 jquery 网站建议的无缓存操作,但我的 load() 仍然没有不工作。
<a onclick="loadCont('canyou.php');">Can you help us</a>
function loadCont(file){
$j("#maincont").load(file);
alert(file);
return false;
}
一如既往,它会在除 IE8 之外的所有其他浏览器上加载。 alart()是用于IE8调试的,文件传递成功,只是没有加载到#maincont
有关代码或回复的任何帮助表示赞赏。 谢谢
最佳答案
尝试以不同的方式进行设置。使用以下代码并查看是否获得任何结果。
HTML
<!-- link with ajax target in href -->
<a class="loadlink" href="canyou.php">Can you help us</a>
jQuery
<html>
<head><title>can you</title></head>
<body>
<!-- we only want to load content from this div -->
<div id="content">This is the only content we want returned...</div>
</body>
</html>
编辑
如果 canyou.php 包含完整的 html 框架 <html>
和<body>
那么你应该让 jQuery 只从该页面解析出你想要的 HTML 并丢弃其余的(你不想将 <html>
或 <body>
标签插入你的 #maincont div 中)。您可以让 jQuery 通过在 load() 方法中的 URL 参数后面添加一个空格然后添加一个选择器来实现此目的。下面是 HTML 的示例:
<html>
<head><title>can you</title></head>
<body>
<div id="content">
This is the only content we want returned...
</div>
</body>
</html>
新的加载调用如下所示:
$('#maincont').load($(this).attr('href') + ' #content'); // Only get the content in #content div
关于jquery load() 在 IE8 中根本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7194010/