jQuery – 在多个select器:not()?

我似乎无法得到以下工作:

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

已经尝试了几种不同的语法,任何人都可以帮我在这一个。

干杯
查理

您将多重select器与多重属性select器混淆。 你应该写:

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

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

not()中的语法和普通的select器语法是一样的,所以如果你想要匹配那些不是那些东西的东西,那么你在不是那两个匹配的地方使用select器(因为基本上你是否定了select器)。 你是怎样做的? 同样的,你可以在CSS中使用逗号将样式应用于多个select器,如下所示:

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

这应该select所有的input不是[type=radio]而不是[type=checkbox]