【发布时间】:2014-05-12 00:30:17
【问题描述】:
我有一个嵌套的 li
<li class="innerMenuLi"><a href="#"><span>MainLi</span></a>
<ul class="mainMenu">
<li><a href="#" class="active"><span>mainMenu1</span></a></li>
<li><a href=""><span>mainMenu2</span></a></li>
<li><a href=""><span>mainMenu3</span></a></li>
<li><a href=""><span>mainMenu4</span></a></li>
<li><a href=""><span>mainMenu4</span></a></li>
<li class="secondInnerMenu"><a href="#"><span>mainMenu5</span></a>
<ul class="analyticsMenu">
<li><a href="">secondInnerMenu1</a></li>
<li><a href="">secondInnerMenu2</a></li>
<li><a href="">secondInnerMenu3</a></li>
<li><a href="">secondInnerMenu4</a></li>
</ul>
</li>
</ul>
$('.innerMenuLi').children('.mainMenu').click(function(e){
e.stopPropagation();
showMenu($(this));
});
$('.innerMenuLi').click(function(e){
showMainMenu($(this));
e.stopPropagation();
});
function showMainMenu(el){
if(!el.hasClass('open')){
(el).addClass('open');
(el).children('.mainMenu').show();
}else{
(el).removeClass('open');
(el).children('.mainMenu').hide();
}
}
function showMenu(el){
if(!el.hasClass('open')){
(el).addClass('open');
(el).children('.analyticsMenu').show();
}else{
(el).removeClass('open');
(el).children('.analyticsMenu').hide();
}
}
我希望为父子 li 调用不同的函数。但是现在当点击子元素时会触发父元素。
提前致谢
【问题讨论】:
标签: javascript jquery html css