jQuery,REAL:不是运营商的等价物吗?
这段代码行选择任何div中的所有子输入,他的类名不是“id”和“quantity”::
$("div.item > div:not(.id,.quantity) > :input").live("keydown",function(event) {});
相反的代码行是什么? , 就像是 ::
$("div.item > div:filter(.id,.quantity) > :input").live("keydown",function(event) {});
(当然:filter
不是有效的jQuery选择器)
我不知道我是否会推荐这个,但你可以使用:not
两次:
$("div.item > div:not(:not(.id,.quantity)) > :input")
更好的方法是创建自己的:is
选择器
$.expr[':'].is = function(elem, index, match){ return $(elem).is(match[3]); }; $("div.item > div:is(.id,.quantity) > :input")
我认为你正在考虑一个“或”的概念。 不幸的是,这在jQuery / CSS选择中并不存在。 你需要为整个选择做一个“或”:
$('div.item > div.id > :input, div.item > div.quantity > :input')
如果您不使用live
,最简单的方法是使用DOM遍历:
$('div.item').children('div.id, div.quantity').children(':input')
由于您正在使用live
,第一个示例可能是最简单的技术。