2013-01-04 191 views
4

我有這樣的:如何選擇具有特定類和其他類的元素?

<div class="class1 class2">1</div> 
<div class="class1 class3">2</div> 
<div class="class1 class4">3</div> 
<div class="class1">4</div> 

如果我要選擇一個包含多個特定類的div我知道,我可以這樣做:

$('.class1.class2'); 

,如果我想只選擇只包含的div一個特定的類,我可以這樣做:

$('[.class1]'); 

但是我怎麼選擇包含一個特定的類以及其他類的div?我需要選擇所有包含class1的div加上其他任何類,但不包含只包含class1的div。這只是一個小樣本;我們網站的樣式表中有幾百個類,所以對任何東西進行硬編碼都是不可行的。

回答

0

我沒有看到任何只有選擇器的解決方案,但你可以做這樣的事情:

$(".class1").each(function(index, element){ 
    var classes = $(element).attr('class').split(/\s+/); 
    if(classes.length > 1){ 
     // element has other class than class1 
    } 
}); 

如果你的代碼不包含任何不必要的空白字符,它會工作。

4

你可以做這樣的事情:

$('.class1').not("[class='class1']") 
相關問題