javascript - 如何在没有循环的情况下使用特定选择器选择 sibling 数组的每个 child ?

标签 javascript jquery

我有以下导航菜单:

<nav id="nav-primary" class="text-center">
    <button id="menu-main-toggle" class="dropdown-toggle script-dependant active">Menu</button>
    <ul id="menu-main" class="nav toggleable hide">
        <li class="menu-item odd first"><a class="menu-link" href="//localhost:3000/index.php/about/">About</a>
        </li>
        <li class="menu-item even"><a class="menu-link" href="/index.php/category/bahrain/">Bahrain</a>
        </li>
        <li class="menu-item odd parent"><a class="menu-link" href="/index.php/category/information-technology/">Information Technology</a>
            <button class="dropdown-toggle script-dependant">+</button>
            <ul class="toggleable hide">
                <li class="menu-item odd first parent"><a class="menu-link" href="/index.php/category/information-technology/web-development/">Web Development</a>
                    <button class="dropdown-toggle script-dependant">+</button>
                    <ul class="toggleable hide">
                        <li class="menu-item odd first"><a class="menu-link" href="/index.php/category/information-technology/web-development/html/">HTML</a>
                        </li>
                        <li class="menu-item even"><a class="menu-link" href="/index.php/category/information-technology/web-development/css/">CSS</a>
                        </li>
                        <li class="menu-item odd last"><a class="menu-link" href="/index.php/category/information-technology/web-development/javascript/">Javascript</a>
                        </li>
                    </ul>
                </li>
                <li class="menu-item even last"><a class="menu-link" href="/index.php/category/information-technology/unix/">Unix</a>
                </li>
            </ul>
        </li>
        <li class="menu-item even parent"><a class="menu-link" href="http://lipsum.com">Lorem</a>
            <button class="dropdown-toggle script-dependant">+</button>
            <ul class="toggleable hide">
                <li class="menu-item odd first parent"><a class="menu-link" href="http://lipsum.com">Ipsum</a>
                    <button class="dropdown-toggle script-dependant">+</button>
                    <ul class="toggleable hide">
                        <li class="menu-item odd first last"><a class="menu-link" href="http://lipsum.com">Dolor</a>
                        </li>
                    </ul>
                </li>
                <li class="menu-item even last"><a class="menu-link" href="http://lipsum.com">Situs</a>
                </li>
            </ul>
        </li>
        <li class="menu-item odd"><a class="menu-link" href="/index.php/category/snippets/">Snippets</a>
        </li>
        <li class="menu-item even last"><a class="menu-link" href="//localhost:3000/index.php/contact/">Contact</a>
        </li>
    </ul>
</nav>

每个 li.parent 都有一个 .dropdown-toggle 按钮。单击按钮时,我想检查它的 $(this).parent().siblings('.parent').child('.dropdown-toggle.active') 以便我可以在切换另一个时取消切换它们。我知道没有 child() 选择器,如果没有 $.each<,我无法检查 siblings([selector]) 的元素 或循环,但我想知道是否有办法?我想在 if 语句中使用它,所以我需要它很短并且不会在处理上繁重。

编辑:刚刚结束使用 $(this).parent().siblings('.parent').children('.active')。认为 siblings() 将是一个数组,我必须遍历它。显然它是一个对象,我可以简单地对对象中的每个元素使用 children()

最佳答案

使用查找

$(this).parent().siblings('.parent').find('.dropdown-toggle.active')

关于javascript - 如何在没有循环的情况下使用特定选择器选择 sibling 数组的每个 child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38039695/

相关文章:

javascript - 将 jquery 控件转换为 javascript

javascript - jquery 桌面阻止输入和文本区域

jquery - 在 IE 10 中,.append 大字符串 HTML 需要很长时间

javascript - 检查是否单击了 div 或其子元素之一

javascript - 我可以将 "new"匿名函数传递给 addEventListener

javascript - 调用时激活 div

javascript - 使用 jQuery 调整加减按钮

javascript - 检查对象文字数组中的重复值并从中创建一个新对象

javascript - 如何在 TypeScript/JavaScript 中调用 Node.js 脚本?

javascript - jQuery 航点不会触发