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

时间:2011-08-25 16:34:38

标签: jquery internet-explorer-8 load

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

我已经尝试更改jquery版本,尝试完成整个var $ j = jQuery.noConflict();,尝试重新安排JS / jquery脚本,尝试了jquery网站建议的no缓存,但仍然是我的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

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

3 个答案:

答案 0 :(得分:1)

尝试稍微改变一下。使用以下代码,看看是否有任何结果。

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><body>标签的完整html骨架,那么你应该让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

答案 1 :(得分:0)

j$之间的字母(.是否正常?

不是$("#maincont").load(file);

我使用IE8加载...它的效果很好

答案 2 :(得分:0)

Yo Bro。你忘记了e.preventDefault();

如果您希望在当前页面的div中打开一个链接,例如:

<a class="loadlink" href="canyou.php">Can you help us</a>

你的jQuery应该像这样::

$("a.loadlink").click(function(e){
e.preventDefault(); //this prevents the redirect that the <a> tag makes on default

// then enter the rest of your jQuery here:
var file = $(this).attr("href");
$("#maincont").load(file);
});

那应该是'即插即用'。