我有以下菜单结构:
<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项中的范围。
这可能吗?如果是这样,怎么样?
提前致谢
答案 0 :(得分:1)
他们不是父母的兄弟姐妹,他们是父母的孩子。你需要使用:
_this.closest('.menu_item').closest('.menu_item').find('.dropdown-arrow');
上面的代码将返回两个。