2010-03-14 8 views
2
$.post('includes/script.php', $(this).serialize(), function(data) { 
    $('body').append(data); 
}); 

alert ($('#new').length) 

script php est <php echo "<div id="new">text</div>" ?>jQuery se vient d'être ajoutée élément ajax

il alerte 0, donc il ne peut pas voir le nouveau div.

Comment pouvez-vous le faire voir nouveau div?

+3

Il renvoie 1 pour moi. – cletus

+0

mon mauvais, trop simplifié. corrigée. – Qiao

+0

l'a trouvé. async: faux. http://stackoverflow.com/questions/755885/how-do-i-make-jquery-wait-for-an-ajax-call-to-finish-before-it-returns – Qiao

Répondre

1

Vous devez attendre que votre message soit terminé avant de pouvoir en vérifier la longueur. Faites quelque chose comme ceci:

$.post('includes/script.php', $(this).serialize(), function(data) { 
    var newItem = $(data).appendTo('body'); 
    alert (newItem.length); 
}); 
0

Comment l'appelez-vous? Je reçois l'alerte 1 dans Firefox, Chrome et IE. Notez que "function" a été mal orthographié dans votre extrait de code.

<script type="text/javascript" src="jquery-1.4.2.js"></script> 
<script type="text/javascript"> 

$(document).ready(function() { 
addnew(); 
}); 

function addnew(){ 
    $('body').append('<div id="new">text</div>'); 
    alert ($('#new').length) 
} 
</script> 
Questions connexes