jQuery .remove () и last-child не работают должным образом - PullRequest
6 голосов
/ 02 мая 2011

У меня есть этот код, который работает нормально. Новый фрагмент данных поступает нормально, но когда число p достигает 3, ничего не происходит. Последний элемент не удаляется, и новые элементы не добавляются.

Есть идеи?

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);

Ответы [ 2 ]

12 голосов
/ 02 мая 2011

Последний элемент не удаляется и новые элементы не добавляются.

Это означает, что новый элемент добавляется, но мгновенно удаляется. Вы хотите изменить порядок:

var list = $('#tweetBox p').length;
if (list === 3){
    $('#tweetBox p:last-child').remove();
}
$('#tweetBox').append('<p>' + data + '</p>');
0 голосов
/ 21 ноября 2013
$('#tweetBox p:gt(3)').remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...