2012-02-15 115 views
-2

我需要選擇包含類.current_page_itemli.page-item-1123元素。 當然,我可以選擇$('.current_page_item')。但在我的情況下,我需要包含其他類的元素(帶類)。jQuery:如何選擇含有其他類的類的元素

<ul id="nav"> 
<li class="page_item page-item-1121"> 
    <a href="#">About me</a> 
</li> 
<li class="page_item page-item-1123 current_page_item"> 
    <a href="#">Photography</a> 
</li> 
<li class="page_item page-item-1125"> 
    <a href="#">Graphic design</a> 
</li> 
<li class="page_item page-item-1127"> 
    <a href="#">Contact</a> 
</li> 
</ul> 
+0

那你試試這麼遠嗎? – 2012-02-16 10:24:44

回答

1

如果我理解正確,您需要的元素有兩個類page-item-1123 & current_page_item

在這種情況下,你可以這樣做:

$(".page-item-1123.current_page_item")

+0

Curt,你的代碼與溺愛和更短的工作corectly :))) 感謝所有 – Vital 2012-02-15 17:20:57

+0

@Vital很高興已經幫助。請標記爲答案,以便其他海報知道這個問題現已解決 – Curt 2012-02-15 17:22:57

2

這個選擇器可以像CSS中一樣寫。要匹配同時具有page_itemcurrent_page_item類名稱的所有元素,使用:

$('.page_item.current_page_item'); 

如果您已經選擇的元素,你需要驗證它的第二類名也匹配,使用:

$('.page_item').filter('.current_page_item'); 
0

只是一個固定的其他答案(他們錯過了一個點)

$('.page_item.page-item-1123.current_page_item') 
+0

我剛剛運行它,它的工作 – deantoni 2012-02-15 17:16:19

+0

nope,.page_item不是必需的;) $('。page-item-1123.current_page_item')。css '背景', '#000'); – Vital 2012-02-15 17:21:46

0

你可以使用一個屬性選擇器來匹配二等:

$('.page_item[class*=current_page_item]') 

另外,您可以過濾掉較大的一組元素:

$('.page_item').filter('.current_page_item') 

這在邏輯類似:

$('.page_item').each(function(){ 
    if($(this).hasClass('current_page_item')) 
     alert('match!'); 
}); 
+0

我只用class .page-item-1123 – Vital 2012-02-15 17:47:55

相關問題