jQuery选择器中AND和OR的组合
我有一个具有以下语法的jQuery选择器:jQuery选择器中AND和OR的组合,jquery,css-selectors,Jquery,Css Selectors,我有一个具有以下语法的jQuery选择器: $('input[type=image]').not('.xyzClass').click(function{ //some functionality }); 因此,这将为所有类型为image且没有classxyzClass的组件提供特定的单击功能 *****我修改了这个问题以反映最新的变化,下面的一些答案对于以前的版本是正确的,但是对于修改后的版本可能不正确。对此表示歉意 我们需要一个OR条件和类条件。以致 任何“输入”类型为图像的组件,
$('input[type=image]').not('.xyzClass').click(function{
//some functionality
});
因此,这将为所有类型为image且没有classxyzClass
的组件提供特定的单击功能
*****我修改了这个问题以反映最新的变化,下面的一些答案对于以前的版本是正确的,但是对于修改后的版本可能不正确。对此表示歉意
我们需要一个OR条件和类条件。以致
任何“输入”类型为图像的组件,如果
xyzClass
或someIdString
$('input[type=image]')
.not(".xyzClass,[onclick*='someSpecificFunctionality()']")
.click(...);
但我不确定您是如何定义onclick的:它是在HTML中还是以编程方式添加的?使用“或”逗号:
$('input[type=image]')
.not(".xyzClass,[onclick*='someSpecificFunctionality()']")
.click(...);
我不确定您是如何定义onclick的:它是在HTML中还是以编程方式添加的?更新的答案
$('*:not(.xyzClass)[id*=containsThisValue]')
对于您更新的问题,虽然这不是优化的,但我建议您尽可能多地指定
原始答案:
function someSpecificFunctionality() {
}
$(els)
.click(someSpecificFunctionality)
.data('someSpecificFunctionality', true)
$(els).filter(function() {
return
$(this).not('.xyzClass') &&
$(this).data('someSpecificFunctionality') == true
});
更新的答案
$('*:not(.xyzClass)[id*=containsThisValue]')
对于您更新的问题,虽然这不是优化的,但我建议您尽可能多地指定
原始答案:
function someSpecificFunctionality() {
}
$(els)
.click(someSpecificFunctionality)
.data('someSpecificFunctionality', true)
$(els).filter(function() {
return
$(this).not('.xyzClass') &&
$(this).data('someSpecificFunctionality') == true
});
这也将在第二次“onClick”检查中设置not条件。不是吗?这不是我们想要的解决方案。哦-问题的原始形式有点含糊不清。这将在第二次“onClick”检查中设置not条件。不是吗?这不是我们想要的解决方案。哦-问题的原始形式有点模糊。接受这个作为答案,因为这是更灵活的方式,考虑到我将来可能有更多的条件。接受这个作为答案,因为这是更灵活的方式,考虑到我将来可能有更多的条件。