2017-05-20 254 views
0

找不到此随地选择除了第n个孩子的所有元素()jQuery的

说我有5个格,像这样

<div class="wrapper"> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
</div> 

我jQuery选择

$('.wrapper div:nth-child(3)') 

这是伟大的,但我如何选择除了子女(3)之外的所有div? 我知道我可以合并两个过滤器如下:

$('.wrapper div:gt(3)') 
$('.wrapper div:lt(3)') 

,我试图chainning :nth-child():not()它返回的第n个孩子

是否有这样做的更好的办法?

+0

你是否真的想要所有不是他们直系亲属的第三个孩子的后裔,还是你只想要不是'.wrapper'的第三个孩子的'.wrapper'的直接孩子? – ErikE

+0

后者,抱歉的混淆。具体我需要 $('。wrapper div:nth-​​child(1)'),$('。wrapper div:nth-​​child(2)'),$('。wrapper div:nth-​​child(4) )')和$('。wrapper div:nth-​​child(5)') –

+0

我的观点是,这些选择器也会返回后代,例如从'

'的div id'd1'。 – ErikE

回答

1

这将做到这一点:

$('.wrapper > div:not(:nth-child(3))') 

>是必要的,如果你真的想,只有直子,不是所有匹配div子代并不是他们的直接父元素的第三个孩子。

+0

yesh我了解>。非常感谢它的工作。 –

相关问题