Как получить последнее значение идентификатора элемента с помощью jquery? - PullRequest
1 голос
/ 13 марта 2012

у меня есть несколько div'ов вроде этого:

тестовое задание тестовое задание тестовое задание тестовое задание

Я добавляю новый div на лету:

function ajax() { 
    $.ajax({  
        url: '/test/',
        type: 'GET',
        dataType: "json",
        processData: false,
        success: function(data) {   

            var firstDiv = $('.test').find("div:first");
            var lastId = firstDiv.attr("id");
            console.log(lastId); 

            var out = '';

            $(data).each(function(i) { 
                messageid = data[i].messageid;
                message = data[i].message;

                if (messageid != lastId){
                    if(null != message)
                    {
                        out += '<div id="'+ messageid +'"</div>';
                        $('.test').append(out);
                    }   
                }
            });
        }
    });
    window.setTimeout("ajax()",1000);
}

в основном, если essageid != lastId и существует message, добавьте новый div с идентификатором к основному test div.

firstDiv предполагает получить значение id первого div, и это происходит, но как только новый div приходит с новым сообщением firstDiv не обновляет новое значение id, но сохраняет старое .

есть идеи, как всегда получить последнее значение последнего идентификатора div, даже если новый div добавлен на лету ?. Я не уверен, как использовать live() или delegate() здесь.

спасибо

1 Ответ

0 голосов
/ 13 марта 2012

Проверьте последний div вместо первого.

var firstDiv = $('.test').find("div:last");

Другой вариант - использовать prepend вместо append.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...