在IE中,jQuery.load对我不起作用

时间:2011-02-20 07:13:28

标签: jquery

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
 body{ font-size: 12px; font-family: Arial; }
</style>
  <script type="application/javascript" src="jquery-1.4.2.min.js"></script>
</head>
<body>

<b>Footer navigation:</b>
<div id="new-nav"></div>
<div id="new-nav1"></div>

<script type="application/javascript">
jQuery(document).ready(function(){
$("#new-nav").load("test/index1.php");
$("#new-nav").ajaxStop(function(){
   $("#new-nav1").load("test/index1.php")
}); 
}); 
</script>

</body>
</html>

我想使用jQuery load将我的两个PHP页面部分加载到我的主页面,但它可以在Firefox中运行,而不是在IE中运行 - 问题出在哪里?

2 个答案:

答案 0 :(得分:7)

两个问题:

type

您的type错了:

<script type="application/javascript">

Live example(不在IE中工作)

应该是:

<script type="text/javascript">

...或者您可以将其关闭,因为所有主流浏览器(可能还有所有主要浏览器)都默认使用JavaScript,而最新的标准版正在通过making JavaScript officially the default反映这一点。

Live example(在IE工作)


无限循环

这可能会创建一个无限循环,因为第二个load调用会在完成后触发ajaxStop处理程序,导致另一个load,导致另一个ajaxStop,等

相反,请尝试:

jQuery(function($){
  $.ajax({
    url: "http://jsbin.com/esili3",
    success: function(data) {
      $("#new-nav").html(data);
      $("#new-nav1").load("http://jsbin.com/ixiko5");
    }
  });
}); 

Live example

答案 1 :(得分:1)

这是一篇类似的帖子,不久之后。希望它有所帮助,因为它听起来非常相似。

jQuery Load problem in Internet Explorer