jQuery选择器中AND和OR的组合

我有一个jQuery选择器具有以下语法:

$('input[type=image]').not('.xyzClass').click(function{ //some functionality }); 

因此,这为所有类型为image的组件提供了特定的单击function,并且没有类xyzClass

*****我已经修改了问题以反映最新的更改,下面的一些答案对于以前的版本是正确的,但可能不适用于修改版本。 为此道歉。

我们需要一个具有类条件的OR条件。 使得具有类型作为图像的“输入”的任何组件应该被选择为IF

  1. class不是xyzClass OR
  2. id包含字符串someIdString

你能帮忙修改现有的选择器吗?

干杯。

更新的答案

 $('*:not(.xyzClass)[id*=containsThisValue]') 

对于您更新的问题,尽管未进行优化,但我建议您尽可能多地指定。

原始答案:

 function someSpecificFunctionality() { } $(els) .click(someSpecificFunctionality) .data('someSpecificFunctionality', true) $(els).filter(function() { return $(this).not('.xyzClass') && $(this).data('someSpecificFunctionality') == true }); 
 $(":image:not(.xyzClass),:image[onclick*='someSpecificFunctionality']"); 

做一个“OR”使用逗号:

 $('input[type=image]') .not(".xyzClass,[onclick*='someSpecificFunctionality()']") .click(...); 

我不确定你是如何定义onclick的:它是在HTML中还是以编程方式添加?