2011-04-30 71 views
16

我試圖檢測父「畫廊」div內的任何子div是否有一類「show」。如何檢測父元素中的任何子元素是否具有某個類?

<div id="gallery"> 

<div class="show"></div> 
<div></div> 
<div></div> 

</div> 

if (TEST CONDITION) { 
    alert('sub element with the class show found'); 
} else { 
    alert('not found'); 
} 

它不一定是if/else格式。爲了能夠以jQuery鏈式的方式做到這一點會更好。

回答

23

這應該這樣做:

if ($("#gallery > div.show").length > 0) 
+0

+1,雖然你可以省略比較,因爲無論如何,'0'似乎等於'假'。 – 2011-04-30 22:05:00

+2

我更喜歡顯示比較的可讀性。 – Xion 2011-04-30 22:06:40

+2

這很公平,而且完全取決於個人喜好。 :) – 2011-04-30 22:08:20

7

如何:

$("#gallery div").each(function (index, element) { 
if($(element).hasClass("show")) { 
//do your stuff 
} 
}); 
9

,如果你想保留jQuery的鏈接能力,使用:

$("#gallery").has(".show").css("background","red"); //For example.. 
相關問題