Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-a:not()中的多个选择器?_Jquery_Jquery Selectors - Fatal编程技术网

jQuery-a:not()中的多个选择器?

jQuery-a:not()中的多个选择器?,jquery,jquery-selectors,Jquery,Jquery Selectors,我似乎无法实现以下目标: $('input:not([type=radio][type=checkbox])').live('click', function() { alert("You haven't clicked a radio or checkbox!"); }); 我试过几种不同的语法,有人能帮我解决这个问题吗 干杯 查理你把这个和那个搞混了。你应该写: $("input:not([type=radio], [type=checkbox])"); 多属性选择器[type=

我似乎无法实现以下目标:

$('input:not([type=radio][type=checkbox])').live('click', function() {
    alert("You haven't clicked a radio or checkbox!");
});
我试过几种不同的语法,有人能帮我解决这个问题吗

干杯
查理

你把这个和那个搞混了。你应该写:

$("input:not([type=radio], [type=checkbox])");

多属性选择器
[type=radio][type=checkbox]
type
属性同时等于
radio
checkbox
的元素相匹配,这在这个宇宙中是不可能发生的。

not()
中的语法与正常选择器语法相同,因此,如果您想匹配不是这两种情况之一的情况,您可以在not中使用一个选择器,该选择器将同时匹配这两种情况(因为本质上您是在否定选择器)。你是怎么做到的?与在CSS中将样式同时应用于多个选择器的方式相同,使用逗号,如下所示:

$('input:not([type=radio],[type=checkbox])')

这应该选择所有输入,而不是
[type=radio]
[type=checkbox]
您也可以排除如下项:

$('input').not('[type=radio], [type=checkbox]').live('click', function() {
    alert("You haven't clicked a radio or checkbox!");
});

完美的谢谢弗里德里克。好像我弄错了。书签:)我认为说“在这个html实现中不可能发生”比试图代表整个宇宙更为正确。这是一个大的*宇宙,例如,一些外星种族可能有一个html实现,它允许给定属性的值的逗号分隔列表。(*许多宇宙学家认为宇宙实际上是无限的,在这种情况下,你能想到的任何html实现都会存在于某处)注意,这只适用于jQuery的
:not()
。CSS3的
:not()
只能接受一个。因此,如果您在jQuery中向
:not()
传递的不仅仅是一个简单的选择器,那么现代浏览器无法使用
queryselectoral()
解析选择器,因此可能会影响性能(如果是微观的)。是的,感谢您的澄清,我的CSS比较没有表明CSS3 not选择器不是那样工作的