2012-12-19 44 views
12

我需要在jQuery的foreach循環僅獲得未隱藏的元素.. Jquery的

只得到了展示()元素在下面的代碼我得到的所有元素與類測試(IE)都隱藏並顯示...但只需要顯示,而不是隱藏一個......如何過濾和獲取這一行本身?????

$('.element').find('.test').each(function(index, loopelement) { 

} 
+2

這真的值得小時(或兩個,*最大*)說它需要從頭開始閱讀[jQuery API文檔](http://api.jquery.com)。你會發現你不知道的各種事情(包括Rory指出的':visible'選擇器)。 –

回答

22

使用:visible選擇:

$('.element').find('.test:visible').each(function(index, loopelement) { 
    // do stuff... 
}); 
+1

+1僞元素使用 – Peon

+0

將不適用於'visibility:hidden' –

+0

@RoryMcCrossan,但問題是「...既隱藏又顯示...」。我的意思是,我不是在爭論文件。我已閱讀他們,這就是爲什麼我作出這樣的評論,因爲這個解決方案是「不是問題的答案」 –

4

使用.filter()有:可見作爲參數:

$('.element').find('.test').filter(":visible").each(function(index, loopelement) { 

}