2013-04-26 78 views
1

我有两个查询一个在文件test.php和一个在文件test2.php ...我想刷新div每隔5秒,但div #test的内容被覆盖div的内容test2。 为什么会发生这种情况?我如何解决它?多个文档就绪功能覆盖另一个

<script> 
    $(document).ready(function() { 
     $("#test").load("test.php"); 
     var refreshme = setInterval(function() { 
      $("#test").load('test.php'); 
     }, 5000); 
     $.ajaxSetup({ cache: false }); 
    }); 
    </script> 
<div id="test"> 
    <?php 
    include ('test.php'); 
    ?> 
</div> 
<br> 
<script> 
    $(document).ready(function() { 
     $("#test2").load("random.php"); 
     var refreshId = setInterval(function() { 
      $("#test2").load('random.php'); 
     }, 5000); 
     $.ajaxSetup({ cache: false }); 
    }); 
    </script> 
<div id="test2"> 
    <?php include 'test2.php' ?> 
</div> 
+0

你对'#test2'使用“random.php”。你有意这么做吗? – Ian 2013-04-26 23:58:40

+0

否则,你的代码没有什么明显的外观错误,没有什么东西应该覆盖另一个 – Ian 2013-04-26 23:59:53

+0

哦,它其实不是这样的!只是让它更简单 – user1775570 2013-04-27 00:01:16

回答

1

那你​​功能之一将覆盖其他内容的唯一方法是,如果要装载到的对象之一是其他的孩子。您还应该确保文档中没有多个对象具有给定的ID,因为这可能会导致jQuery选择器选择错误的对象。

您可能希望查找任何缺少的关闭标签,以防由于缺少标签而导致意外成为另一个关闭标签的子项。

两个$(document).ready()调用不会相互冲突或覆盖。他们只是在文档准备就绪时排队调用多个函数。

+0

我翻遍了我的代码几次,唯一能找到可能会引起怀疑的是test.php和test2.php都是一样的(类和id等),但是它们来自不同的数据库。这与它有什么关系? – user1775570 2013-04-27 00:10:15

+0

您的文档中不能有任何两个DOM元素具有相同的ID。如果您使用相同的ID加载两段HTML,那就是一个问题。 – jfriend00 2013-04-27 01:35:14