仅在内容为新内容时才附加

时间:2010-11-04 22:28:16

标签: jquery html append

我正在尝试使用追加内容来制作带有jQuery的实时Feed,但我的问题是它附加了更多内容,即使已经存在“< li>< / li>”这与已经存在的那个完全一样......

我目前的代码: http://pastebin.com/yEtSsg90

如果有人可以发布带有评论的示例代码,那会很棒。)

3 个答案:

答案 0 :(得分:1)

在第12行的评论后立即尝试:

repeat = false;
jQuery('ul#feed li').each(function() {
    if($(this).text() == data)
    {
        repeat = true;
    }
});

if(!repeat)
{
    jQuery('ul#feed').prepend('<li>' + data + '</li>');
}

它正在寻找与数据具有相同文本的现有#feed li。如果存在,则跳过添加数据;否则就像平常一样添加它。

答案 1 :(得分:0)

您需要跟踪已添加的条目。例如,如果每个条目都有一个id号,你可以维护一个列出的所有id,或者只是最高的id,它们是连续的。

您也可以在服务器端执行此操作。根据请求,您可以传递您添加的最高ID的ID,只获取新条目。如果每个条目都有时间戳,您也可以使用它来处理过滤。

答案 2 :(得分:0)

var exists = false,
    insertation = 'feedText..';

$('li').text(function(index,text) {
    if(text == insertation) exists = true;
});

if(!exists) //perform the appending