I want to exclude first and second element from jquery selector. I tried this:
$(\'p:not(:nth-child(1),:nth-child(2))\')
But this only excludes
try:
$('p:not(:nth-child(1)),p:not(:nth-child(2))')
Reference: http://www.w3.org/TR/selectors/#negation
from that reference: "The negation pseudo-class, :not(X), is a functional notation taking a simple selector (excluding the negation pseudo-class itself) as an argument...."
Simply:
$('p:gt(1)')
http://api.jquery.com/gt-selector/
Demo http://jsfiddle.net/NtFYq/1/
As Alnitak has pointed out in the comment, if performance is a concern, you can use his solution of slice
Thanks a lot @Alnitak for pointing that out :)
$('p').not(":nth-child(1)").not(":nth-child(2)")
-- SEE DEMO --
$('p').not($('p').eq(0), $('p').eq(1))
This jQuery sequence uses .slice() to discard the first two elements from the $('p')
selector:
$('p').slice(2).
see http://jsfiddle.net/alnitak/zWV7Z/
Note that this is not the same as nth-child
- the exclusion is based on the whole set of elements found in the first selector, and not on their relative position in the DOM.