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 回答