我有两个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>
但这似乎不起作用......希望有意义......有什么想法吗?
答案 0 :(得分:1)
你的$(document).ready ...代码在.load()完成之前运行,因为负载在以后完成。这意味着当它运行时,没有“test”类的跨度。
首次加载(进入a1)完成后,您必须执行第二次加载。为此,load将允许您传递一个函数以在加载完成时调用(jQuery load documentation):
$("a1").load("contentLocation.php", null, function () {
$("a2").load("nextContentLocation.php");
});
这会导致jQuery将内容加载到a1中,并在完成后将内容加载到a2。