2011-05-02 8 views
6

J'ai ce code qui fonctionne bien. La nouvelle donnée vient bien mais quand le nombre de p arrive à 3, rien ne se passe. Le dernier élément n'est pas supprimé et aucun nouvel élément n'est ajouté.jQuery .remove() et last-child ne fonctionnant pas comme prévu

Des idées?

setInterval(function() { 
       $.post(
       'json.php', 
       function(data){ 
        $('#tweetBox').append('<p>' + data + '</p>'); 
        var list = $('#tweetBox p').length; 
        if (list > 3){ 
         $('#tweetBox p:last-child').remove(); 
        }    
       } 
      ); 
     }, 5000); 

Répondre

12

Le dernier élément ne soit pas supprimé et pas de nouveaux éléments se joint en annexe.

Ceci indique que le nouvel élément est ajouté mais supprimé instantanément. Vous voulez inverser l'ordre:

var list = $('#tweetBox p').length; 
if (list === 3){ 
    $('#tweetBox p:last-child').remove(); 
} 
$('#tweetBox').append('<p>' + data + '</p>'); 
+0

Impressionnant, merci – benhowdle89

0
$('#tweetBox p:gt(3)').remove(); 
Questions connexes