jQuery .remove()和last-child没有按预期工作

时间:2011-05-02 15:40:42

标签: jquery css-selectors

我有这个代码正常工作。新的数据正好,但当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 个答案:

答案 0 :(得分:12)

  

不会移除最后一项,也不会追加新项目。

这表示新项目会被追加,但会立即删除。您想要颠倒顺序:

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

答案 1 :(得分:0)

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