14

我想从 jquery 选择器中排除第一个和第二个元素。我试过这个:

$('p:not(:nth-child(1),:nth-child(2))')

但这仅排除第一个元素...谢谢

4

5 回答 5

29

此 jQuery 序列用于.slice()丢弃$('p')选择器中的前两个元素:

$('p').slice(2).

http://jsfiddle.net/alnitak/zWV7Z/

请注意,这-nth-child排除是基于在第一个选择器中找到的整个元素集,而不是基于它们在 DOM 中的相对位置。

于 2012-05-11T08:36:11.213 回答
19

简单地:

$('p:gt(1)')

http://api.jquery.com/gt-selector/

演示 http://jsfiddle.net/NtFYq/1/

正如 Alnitak 在评论中指出的那样,如果性能是一个问题,您可以使用他的解决方案slice

非常感谢@Alnitak 指出这一点:)

于 2012-05-11T08:37:35.890 回答
5
 $('p').not(":nth-child(1)").not(":nth-child(2)")

-- 看演示 --

于 2012-05-11T08:32:18.697 回答
2

尝试:

$('p:not(:nth-child(1)),p:not(:nth-child(2))')

参考: http ://www.w3.org/TR/selectors/#negation

来自该参考:“否定伪类:not(X)是一个功能符号,采用简单的选择器(不包括否定伪类本身)作为参数......”

于 2012-05-11T08:50:05.530 回答
0
$('p').not($('p').eq(0), $('p').eq(1)) 
于 2012-05-11T08:36:25.357 回答