如何在jQuery中选择一组多个匹配元素中除第一个之外的所有元素?

jon*_*ell 1 jquery jquery-selectors

它必须迟到......鉴于以下HTML,除了每个段落中的第一段之外,如何选择所有段落div.thePost

我试过了:

$('.thePost').children('p:gt(0)')
Run Code Online (Sandbox Code Playgroud)

$('.thePost p:gt(0)')
Run Code Online (Sandbox Code Playgroud)

$('.thePost > p:gt(0)')
Run Code Online (Sandbox Code Playgroud)

所有这些都适用于第一个,div.thePost但最终选择<p>任何其他div中的所有其他标签与类thePost.

<div id="contentmiddle">

<div class="thePost">

  <h1>...</h1>

  <h3>...</h3>

  <span>...</span> 

  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>

</div><!-- /thePost -->

<div class="thePost">

  <h1>...</h1>

  <h3>...</h3>

  <span>...</span> 

  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>

</div><!-- /thePost -->

</div>?<!-- /contentmiddle -->
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 6

:first-of-type不是jQuery选择器,所以除非浏览器本身在CSS中支持它,否则使用的解决方案:first-of-type将不起作用.

如果您需要支持旧浏览器(IE <9),则需要使用下一个兄弟选择器~:

$('.thePost > p ~ p')
Run Code Online (Sandbox Code Playgroud)