2012-03-12 98 views
1

我有几个div的是这样的:如何获取jQuery的最后一个元素id值?

测试 测试 测试 测试

我对飞添加一个新的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将一个带有ID的新div添加到主test div。

firstDiv假设获取第一个div的id值,但它确实如此,但只要新div带有新消息firstDiv不会更新到新的id值,但保留旧值。

任何想法如何总是得到最后的div id的最后一个值,即使新的div是在飞行中添加的。我不知道如何在这里使用live()delegate()

感谢

回答

0

检查,而不是第一个为最后一个div。

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

你的其他选择是使用预先准备的,而不是追加。