у меня есть несколько 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()
здесь.
спасибо