1

jQuery是否有一种优雅的方式来查找具有A类但没有B类的元素,例如

$('#canvas .A !.B').each(functon() {
          do something
});

我很确定这不会奏效,但这就是想法。

我知道我能做到

$('#canvas .A').each(function() {
    if(!$(this).hasClass('B'){
          do something
    }
});

但这感觉真的很笨拙。

谢谢

4

4 回答 4

6
$('#canvas .A').not(".B").each(functon() {
          do something
});

参考

于 2013-09-25T04:29:46.423 回答
0

有两种方法可以做到这一点。您可以使用:not选择器或jquery 的.not()

$('#canvas .A:not(.B)').each(functon() {
          do something
});

或者

$('#canvas .A').not(".B").each(functon() {
              do something
    });
于 2013-09-25T04:34:56.730 回答
0

您也可以在单个选择器中执行此操作,例如:

$('#canvas .A:not(.B)').each(function() {
    // console.log($(this));
});
于 2013-09-25T04:33:56.360 回答
0

使用 Jquery,您可以:

$(".classA").not(".classB");

于 2013-09-25T04:30:58.020 回答