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

4

2 回答 2

4

你可以这样做:

$('.class1').not("[class='class1']")
于 2013-01-04T22:11:30.647 回答
0

我没有看到任何唯一选择器解决方案,但您可以执行以下操作:

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

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

于 2013-01-04T22:10:45.810 回答