jQuery选择器-获取多个div的父级div
我正在尝试获取页面上所有包含多个div作为子元素的元素。例如,在以下代码中:jQuery选择器-获取多个div的父级div,jquery,Jquery,我正在尝试获取页面上所有包含多个div作为子元素的元素。例如,在以下代码中: <div id="1"> <div id="1a"> <div id="1aa"> </div> <div id="1ab"> </div> </div> <div id="1b"> </div> </di
<div id="1">
<div id="1a">
<div id="1aa">
</div>
<div id="1ab">
</div>
</div>
<div id="1b">
</div>
</div>
<div id="2">
<div id="2b">
</div>
</div>
但这不仅不能按预期工作,我还希望在有5、6、7个/尽可能多的子div时应用它,前提是=2
实现这一目标的最佳方法是什么?您可以使用
或者
$("div:has(>div:eq(1))")
向该选择器添加注释以解释其用途是有益的,因为目前还不清楚其意图是什么
它没有使用标准CSS,因此不能直接委托给
querySelectorAll()
。如果您发现这是一个性能问题,只需将其拆分为块(可能使用filter()
来减少集合)。您可能需要这样的内容:
这是一个很好的答案。不过,我应该在OP中更具体一些——这可以稍微修改一下,只适用于直系儿童吗?也就是说,如果div1有一个子div2,它有3个子div,我只想选择div2。@anthony请参见上面关于
的评论。
$('div').filter(function() {
return $(this).children('div').length >= 2;
}).css('border', '1px solid red');
$("div:has(>div:eq(1))")
if ($('div:has(div)').length) { // this will check if div has child div elem
$('div > div').css("border", "1px solid red"); // applies css to its direct child
}