2012-03-12 88 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"); 

你的其他選擇是使用預先準備的,而不是追加。

相關問題