如何从一个.load到其他.load执行jquery操作

时间:2012-06-20 13:13:59

标签: jquery

我有两个div,每隔几秒自动刷新一次,内容使用jquery加载.load()

    <script>
    $(document).ready(function(){$("#a1").load("a1.php");
    var refreshId=setInterval(function(){
$("#a1").load('a1.php?randval='+Math.random());},10000);$.ajaxSetup({cache:false});});

    $(document).ready(function(){$("#b2").load("b2.php");
    var refreshId=setInterval(function(){
$("#b2").load('b2.php?randval='+Math.random());},20000);$.ajaxSetup({cache:false});});
    </script>


<div id='a1'></div>
<div id='b2'></div>

我需要插入div b2中的内容才能用jquery操作div a1中的内容..

e.g。内容加载到div 1 a1.php

<span class="test">Hello World</span>

e.g。内容加载到div 2 b2.php

<script type="text/javascript">
$(document).ready(function(){
$('.test').text('Good Bye cruel world');
});
</script>

但这似乎不起作用......希望有意义......有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你的$(document).ready ...代码在.load()完成之前运行,因为负载在以后完成。这意味着当它运行时,没有“test”类的跨度。

首次加载(进入a1)完成后,您必须执行第二次加载。为此,load将允许您传递一个函数以在加载完成时调用(jQuery load documentation):

$("a1").load("contentLocation.php", null, function () {
  $("a2").load("nextContentLocation.php");
});

这会导致jQuery将内容加载到a1中,并在完成后将内容加载到a2。