如何选择具有特定类和任何其他类的元素?

时间:2013-01-04 22:02:16

标签: jquery-selectors

我有这个:

<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。这只是一个小样本;我们网站的样式表中有几百个类,所以硬编码任何东西都是不可行的。

2 个答案:

答案 0 :(得分:4)

你可以这样做:

$('.class1').not("[class='class1']")

答案 1 :(得分:0)

我没有看到任何唯一的选择器解决方案,但你可以这样做:

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

如果您的代码不包含任何不必要的白色字符,它将起作用。