2014-02-10 32 views
0

enter image description here我想在classname'myData'的最裏面的div中獲取值。這些div是動態加載的,它可以在任何層次的嵌套。最外面的div有一個id「main」。這是我迄今爲止所嘗試過的,它只給我divs'classanames誰是主div的直接子女。在任何級別引用div的類名

更新:我需要引用圖像中突出顯示的fc-event-time div。

$('#main div').each(function() { 
alert($(this).text()); 

});

感謝,

+1

你說:「最裏面的」 ......你的意思是這樣的嗎? http://jsbin.com/wihu/1/edit – m59

回答

1

只需添加.myData到最後:

$('#main div.myData').each(function() { 
    alert($(this).text()); 

這裏是一個的jsfiddle作爲一個概念證明:http://jsfiddle.net/66psS/

=======從com更新ments =======

在什麼階段你調用這個.each()函數?它在document.ready中嗎?這些數據是通過AJAX加載的,並且在.each()運行時可能不存在?

// Means run this when the document is ready... 
$function(){ 
    $('#main div.myData').each(function() { 
     alert($(this).text()); 
}); 

我敢打賭,這個數據在執行時還不存在。

+0

謝謝Jay,你的代碼在小提琴中運作良好。但由於某種原因,我總是在我的頁面中獲得0。請參閱最新的問題。 –

+0

@BishnuPaudel更新了一些想法。 – Timeout

+0

你是對的。真棒! –

0

你可以嘗試這樣做:

$('#main div.myData').each(function() { 
    alert($(this).text()); 
}); 
+0

如果你有多個元素的主要ID,你做錯了什麼... – GregL

+0

@GregL你是正確的,修復... – Felix

0

您可以使用:

$('#main .myData').each(function() { 
alert($(this).text()); 
}); 

更新:如果其他元素都有.myData類太:

$('#main div.myData').each(function() { 
alert($(this).text()); 
}); 
+0

這不會將結果限制爲具有該類名稱的*** *** ***。 – Timeout

0

根據您添加到您問題的屏幕截圖,它看起來像你可以簡單地使用:

$(".fc-event-time").each(function() { 
    alert($(this).text()); 
}); 

生成具有此類名稱的div列表。如果你想的範圍只到一定層次,你可以有資格與任何父母要限制範圍的選擇,但不是必需的:

$("#main .fc-event-time").each(function() { 
    alert($(this).text()); 
}); 

如果這個內容是動態添加,那麼你在內容被插入到DOM之後,必須運行這個查詢。如果內容是動態添加的,你如何處理時間取決於它的添加方式以及可以觸發查詢的事件。

如果此內容位於文檔的原始HTML中,則必須在加載DOM後運行查詢。您可以將您的JavaScript在<body>結束,或者您可以使用jQuery等待DOM加載:

$(document).ready(function() { 
    $("#main .fc-event-time").each(function() { 
     alert($(this).text()); 
    }); 
});