我有以下列表结构(顺便说一下这是一个菜单):
<div id="mainmenu">
<ul class="menu">
<li class="item-435">
<li class="item-468 active deeper parent">
<a href="#">News</a>
<ul>
<li class="item-469 current active">
<a href="/index.php/news/news-topaktuell">Topaktuell</a>
</li>
<li class="item-480">
<a href="/index.php/news/events">Events</a>
</li>
</ul>
</li>
<li class="item-476">
<li class="item-477">
<li class="item-478">
<li class="item-479">
</ul>
</div>
我想在第一个click()
上附加一个<li>
事件监听器,以便它显示页面的标题。其他<li>
标记也应该有一个click()
侦听器,但是如果发生此事件,则应隐藏标头;标题默认显示,因此标题应仅显示在主页(第一个孩子)上。
我已经做了什么:
$('#mainmenu .menu li:not(:first-child)').click(function() {
//hide header
});
$('#mainmenu .menu li:first-child').click(function() {
//show header
});
但是这也选择了子列表中的第一个孩子,这是我不想要的。有没有优雅的方法来选择所需的标签?
答案 0 :(得分:2)
尝试
$('#mainmenu .menu > li:not(:first-child)').click(function() {
//hide header
});
$('#mainmenu .menu > li:first-child').click(function() {
//show header
});
答案 1 :(得分:0)