3

このマークアップを考えると:

<div class="some_container">
  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>
  <p>...</p>
</div>

基本的に次のことを意味するルールを使用して、jQuery(またはjavascript)でコレクションの親を照会する方法はありますか?

Return the parent element that contains 4 or more <p> tags

または

Return a collection of all <p> tags with 4 or more siblings

...そして、私はそれを呼び出すことができます.parent()か?

私のユースケースでは可変であるため、単純に検索することはできません<div>(異なるID、クラス、場合によって<div>はコンテナーとしてでさえありません)。関連する要素のグループを見つけて、そのコレクションの親を見つける方法が必要です。これは可能ですか?

4

3 に答える 3

5

nth-of-type が探しているものかもしれません。何かのようなもの:

$("p:nth-of-type(4)").parent()

これは、それぞれが少なくとも 4 つの段落要素を持つ要素のコレクションを取得します。

于 2012-07-09T23:38:24.657 に答える
0
if ($('p').siblings('p').length > 4) 
{
     // Yay!!!
}
于 2012-07-09T23:39:17.917 に答える
0

パフォーマンスが高すぎるとは思いませんが、すべてのpタグを見つけて兄弟をチェックするよりもはるかに高速です。

var parents = $("div").filter(function() {
    return $(this).children('p').length > 4;            
});
于 2012-07-09T23:39:26.307 に答える