2012-06-20 3 views
0

У меня есть две дивы, что оба авто обновляются каждые несколько секунд с содержанием загружены с помощью Jquery .load()Как выполнить Jquery действия от одного к другому .load .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, чтобы иметь возможность манипулировать содержимым в div a1 с jquery ..

eg содержание, загруженное в div 1 a1.php

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

например. загруженное в в Div 2 b2.php

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

Но это не похоже на работу ... Надеюсь, что имело смысл .. Есть идеи?

+0

Нет, ваш вопрос не имеет смысла, вы его редактируете, пожалуйста? BTW, 'id' не может начинаться с числа. – gdoron

+0

@ gdoron Серьезно? Я сделал это очень много! – 11684

+0

Вопрос обновлен для вас – Webby

ответ

1

Ваш $ (документ) .ready ... код выполняется до завершения .load(), потому что загрузка завершается позднее. Это означает, что когда он запускается, пока нет класса с классом «тест».

Вам понадобится выполнить вторую нагрузку после завершения первой загрузки (в a1). Для этого, нагрузка позволит передать ей функцию для вызова, когда нагрузка завершается (jQuery load documentation):

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

Это приведет к JQuery для загрузки содержимого в a1 и, по завершении, содержание нагрузки в а2.

+0

Извините Вопрос обновлен, не уверен, что это все еще применимо: P – Webby

+1

В этом случае загрузка нового вызова $ (document) .ready ... после загрузки страницы может просто не запускаться. Попробуйте функцию самозапуска: '(function() {$ ('. Test'). Text ('Good Be жестокий мир');})();' что на самом деле не обязательно, но это первое, что приходит в голову. – ZephidsEmbrace

+0

Это работает, но когда a1, php обновляется сначала, div возвращается в Hello World? – Webby

Смежные вопросы