javascript - jQuery : How to filter elements which have more than a specific number of children?

标签 javascript jquery

我如何选择具有多个子元素的元素?

我有这样的东西:

<ul>
    <li>foo<li>
    <li>foo<li>
    <li>foo<li>
</ul>
<ul>
    <li>foo<li>
    <li>foo<li>
</ul>
<ul>
    <li>foo<li>
    <li>foo<li>
    <li>foo<li>
</ul>

我现在正在使用这样的东西:

$('ul').each(function() {
    if ($(this).children().length > 2) {
        // do something
    }
});

我想知道有没有更好的按 child 数量选择的方法?

或者有更好的方法吗?

最佳答案

至少有一条更短的路

$('ul:has(li:eq(2))')

仅针对直系子级,如果这是一个问题,您可以这样做

$('ul:has( > li:eq(2))')

选择任何有 3 个或更多 child 的 UL(eq 从零开始)

FIDDLE

关于javascript - jQuery : How to filter elements which have more than a specific number of children?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24780542/

相关文章:

jquery - 我怎样才能使用 bootstrap 制作一个跨越它下面其他行的列?

javascript - 如何使用backbone js下载文件后重定向到其他 View ?

javascript - 输入 slider 的 setInterval 无法正常工作

javascript - 如果在部分 URL 中

javascript - 带有 RequireJS 的数据表

javascript - JQuery 跳过 .on 赋值

javascript - 路由在 Node.js 中不起作用

javascript - API请求方式

php - 如何将变量从 JavaScript (Google Maps API) 传递到我的表单输入

javascript - 基于多个单选按钮输入使用 jquery 更新图像