jquery选择器字符串中是否存在“OR”条件?

时间:2012-09-03 11:00:46

标签: jquery

我想测试一个元素对象,看它是否有“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()函数,我可以单独检查每个类,但我很好奇我是否可以通过一个函数调用而不是两个函数调用它?

3 个答案:

答案 0 :(得分:12)

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

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

<强> See it in action

答案 1 :(得分:1)

您可以测试是否

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

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

答案 2 :(得分:0)

在jquery中没有任何或条件。你必须在$el.is(".classA, .classB")之类的同一语句中使用选择器,它可以将其作为条件处理