有谁知道,如果存在某种选择的选择从人的匹配集合中的元素,但一个由指定的指数给出。 例如:
$("li").neq(2).size();
假设有5个元素,最后一个语句会给你4,并且将包含所有的<li>
元素,但第二个在DOM。
有谁知道,如果存在某种选择的选择从人的匹配集合中的元素,但一个由指定的指数给出。 例如:
$("li").neq(2).size();
假设有5个元素,最后一个语句会给你4,并且将包含所有的<li>
元素,但第二个在DOM。
使用not
:
$('li').not(':eq(2)');
好吧,这只是
$("li:not(:eq(2))");
其他答案会工作得很好,但作为一种替代你可以实现你自己的自定义选择neq
$.extend($.expr[":"], {
neq: function(elem, i, match) {
return i !== (match[3] - 0);
}
});
然后,你可以做你最初建议。
$("li:neq(2)").size();
虽然另一篇文章中使用建议.length
,而不是.size
,这将是作为它只是一个更好的财产,而不是额外的函数调用。
$("li:neq(2)").length;
我会用滤波器这种情况下,
$('li').filter(function (i, item) {
return i != 2;
})
除了自定义选择,您也可以实现这个作为一个jQuery插件:
$.fn.neg = function (index) {
return this.pushStack( this.not(':eq(' + index + ')') );
}