2013-01-04 146 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']") 
相关问题