2012-03-21 84 views
0

我有一個默認的ID與div,然後我追加一些更多div與ajax調用。如何獲得最後一個div的ID,附帶ajax,用jQuery?

我如何得到這些ID與jQuery的?

例如:

<div class="main"> 
    <div id="0" class="take">test</div> <!-- this one is here by default --> 

    <!-- added by ajax --> 
    <div id="1" class="take">test</div> 
    <div id="2" class="take">test</div> 
    <!-- end added by ajax --> 

    <!-- added by another ajax request --> 
    <div id="3" class="take">test</div> 
    <div id="4" class="take">test</div> 
    <!-- end added by ajax --> 

</div> 

,如果我這樣做:

alert($("div.take:last").attr('id');) 

我只會變得0。看起來像我需要使用像.live ...這可能是非常簡單的,我只是沒有看到它。

有什麼想法?

感謝

編輯:如果有一個請求添加一些div然後我補充一些我仍然得到0

+1

告訴我們你打電話給你的警報相對於你的ajax回調 – 2012-03-21 08:57:49

+0

也許這是瀏覽器的問題或者也許新的div沒有class'take',但是在所有普通瀏覽器中這樣認爲工作完美 – Donotello 2012-03-21 09:03:10

回答

1

下面是一個代碼工作示例,其中包括使用jQuery添加新的<div>

Working Example

0

您提供的代碼工作正常.. See this demo

試試這個:

// after ajax call.. 
var last = $('.take').length - 1 ; 
alert($(".take").eq(last).attr('id')); 
+1

小提琴你不添加任何div與ajax – Donotello 2012-03-21 09:01:00

+0

我已經更新瞭解決方案..請讓我知道它是否適合你:) – 2012-03-21 15:56:31

1

在你的Ajax請求的回調可以適當得到正確的最後一個div。你不能在ajax請求完成之前這樣做,否則該語句將返回DOM更新之前發現的最後一個div

+0

我同意,但是,情況並非如此。我只對現有的div感興趣。但你提出了一個很好的觀點,我沒有在我的問題中指出這一點 – Patrioticcow 2012-03-21 09:15:25

1

我法布里奇奧同意...你說你的AJAX請求追加div的DOM成。因此,您可能會在請求實際完成之前致電

alert($("div.take:last").attr('id');); 

。在回調函數(成功)中調用上述內容。

相關問題