有没有人知道是否存在某种选择器可以选择匹配集合中除指定索引的所有元素。例如:
$("li").neq(2).size();
假设有5个元素,最后一个语句会给你4,并且包含DOM中除第二个以外的所有<li>
元素。
有没有人知道是否存在某种选择器可以选择匹配集合中除指定索引的所有元素。例如:
$("li").neq(2).size();
假设有5个元素,最后一个语句会给你4,并且包含DOM中除第二个以外的所有<li>
元素。
使用not
方法:
$('li').not(':eq(2)');
好的,就是这样
$("li:not(:eq(2))");
$.extend($.expr[":"], {
neq: function(elem, i, match) {
return i !== (match[3] - 0);
}
});
然后你可以按照最初的建议进行操作。
$("li:neq(2)").size();
尽管另一篇帖子建议使用 .length
而不是 .size
,因为它只是一个属性而不需要额外的函数调用,这样会更好。
$("li:neq(2)").length;
$("li:neq(2)")
- Kevin B$('li').filter(function (i, item) {
return i != 2;
})
除了自定义选择器外,您还可以将其实现为jQuery插件:
$.fn.neg = function (index) {
return this.pushStack( this.not(':eq(' + index + ')') );
}