jQuery选择器中AND和OR的组合
我有一个jQuery选择器具有以下语法:
$('input[type=image]').not('.xyzClass').click(function{ //some functionality });
因此,这为所有类型为image的组件提供了特定的单击function,并且没有类xyzClass
。
*****我已经修改了问题以反映最新的更改,下面的一些答案对于以前的版本是正确的,但可能不适用于修改版本。 为此道歉。
我们需要一个具有类条件的OR条件。 使得具有类型作为图像的“输入”的任何组件应该被选择为IF
- class不是
xyzClass
OR - 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中还是以编程方式添加?