7

我想测试一个元素对象以查看它是否具有“classA”“classB”。例如,click() 事件返回了事件target属性中的一个元素。我想测试这个元素,看看是否有这两个类中的任何一个。

$("#mybutton").click(function($event) {
  var $el = $($event.target);
  if($el.is(".classA") || $el.is(".classB")) {
    // Can I do the above with 1 selector instead of two separate ones?
  }
});

如上所述,使用该is()函数,我可以单独检查每个类,但我很好奇是否可以使用一个函数调用而不是两个函数调用来做到这一点?

4

3 回答 3

12

是的,您可以用逗号分隔选择器:

if($el.is(".classA, .classB"))

看到它在行动

于 2012-09-03T11:03:05.407 回答
1

你可以测试一下

if($el.is('.classA, .classB')) { ... }

这是一个小测试用例:http: //jsfiddle.net/ydtv2/

于 2012-09-03T11:06:17.473 回答
0

不,jquery 中没有任何或条件。您必须在同一语句中使用选择器,$el.is(".classA, .classB")它可以将其视为或条件

于 2012-09-03T11:10:47.937 回答