在IE8中,jquery load()根本不起作用

ben*_*ben 6 jquery load internet-explorer-8

谷歌充满了这个问题,但其他任何页面都没有帮助我.

我已经尝试更改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;
}
Run Code Online (Sandbox Code Playgroud)

一如既往,除了IE8之外,它还会加载到所有其他浏 alart()用于IE8调试,文件成功传递,它只是没有加载到#maincont

有关代码或回复的任何帮助表示赞赏.谢谢

Joe*_*man 1

尝试稍微不同地设置它。使用以下代码并查看是否得到任何结果。

超文本标记语言

<!-- link with ajax target in href -->
<a class="loadlink" href="canyou.php">Can you help us</a>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

编辑

<html>如果 canyou.php 包含带有和标签的完整 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>
Run Code Online (Sandbox Code Playgroud)

新的加载调用如下所示:

$('#maincont').load($(this).attr('href') + ' #content');    // Only get the content in #content div
Run Code Online (Sandbox Code Playgroud)