开发者

jquery load() doesnt work at all in IE8

Google is full of this question but none of the other pages help me.

I've tried changing jquery versions, tried doing the whol开发者_StackOverflow社区e var $j = jQuery.noConflict();, tried rearranging JS/jquery scripts, tried the no caching thing suggested by jquery website but still my load() doesn't work.

<a onclick="loadCont('canyou.php');">Can you help us</a>


function loadCont(file){
$j("#maincont").load(file);
alert(file);
return false;
}

As always it loads on every other browser except IE8. The alart() is there for IE8 debugging, and the file is passed successfully, its just not loaded into #maincont

Any help aboutthe code or replies appreciated. Thanks


Try setting this up a little differently. Use the following code and see if you get any results.

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>

EDIT

If canyou.php contains a full html skeleton with <html> and <body> tags then you should have jQuery parse out only the HTML you want from that page and discard the rest (you don't want to shove <html> or <body> tags into your #maincont div). You can have jQuery do this by adding a space then a selector after the URL parameter in the load() method. Here's an example of the HTML:

<html>
<head><title>can you</title></head>
<body>

    <div id="content">
        This is the only content we want returned...
    </div>
</body>
</html>

Here's what the new load call would look like:

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


Yo Bro. You forgot e.preventDefault();

If you want to have a link open up in a div on your current page, for ex:

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

Your jQuery should look like this::

$("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);
});

That should work 'plug-n-play'.


the letter j between $ and (. is it normal ?

is it not $("#maincont").load(file);

I use load with IE8... it works good personally

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜