是否有可能得到父母的兄弟姐妹?

时间:2016-12-21 13:43:49

标签: jquery dom menu

我有以下菜单结构:

<ul class="nav-menu">
    <li class="menu-item>
        <a class="dropdown-toggle" href="">Item 1 <span class="dropdown-arrow"></span></a>
        <ul class="sub-menu">
            <li class="menu-item">Item 1.1</li>
        </ul>
    </li>
    <li class="menu-item">Item 2</li>
    <li class="menu-item">
        <a class="dropdown-toggle" href="">Item 3 <span class="dropdown-arrow"></span></a>
        <ul class="sub-menu">
            <li class="menu-item">
                <a class="dropdown-toggle" href="">Item 3.1 <span class="dropdown-arrow"></span></a>
                <ul class="sub-menu">
                    <li class="menu-item">Item 3.1.1</li>
                </ul>
            </li>
        </ul>
    </li>
    <li class="menu-item">Item 4</li>
</ul>

我有一些响应点击的JS代码:

$( '.nav-menu' ).find( '.dropdown-toggle' ).click( function( e ) {
    var _this = $( this );
    var _arrow = _this.children( '.dropdown-arrow' );

    // Get all '.dropdown-arrow' elements above this

    e.preventDefault();
} );

例如,如果我点击第3.1项,我需要获得它的'。dropdown-arrow'范围以及它上面的范围,这是第3项中的范围。

这可能吗?如果是这样,怎么样?

enter image description here

提前致谢

1 个答案:

答案 0 :(得分:1)

他们不是父母的兄弟姐妹,他们是父母的孩子。你需要使用:

_this.closest('.menu_item').closest('.menu_item').find('.dropdown-arrow');

上面的代码将返回两个。