Javascript 可折叠菜单中根链接的效果/操作处于非活动状态-仅效果-jQuery
我有一个可折叠菜单,动态生成,如下所示Javascript 可折叠菜单中根链接的效果/操作处于非活动状态-仅效果-jQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个可折叠菜单,动态生成,如下所示 <div id="mobile"> <ul id="navigation"> <li class="active"> <a href="index.php?id=12">About Us</a> </li> <li> <a href="index.php?id=24
<div id="mobile">
<ul id="navigation">
<li class="active">
<a href="index.php?id=12">About Us</a>
</li>
<li>
<a href="index.php?id=24">Approach</a>
<ul class="subnavi">
<li>
<a href="index.php?id=24">How we work</a>
</li>
<li>
<a href="index.php?id=25">Who we are</a>
</li>
<li>
<a href="index.php?id=26">Knowledge</a>
</li>
</ul>
</li>
<li>
<a href="index.php?id=14">Solutions</a>
</li>
<li>
<a href="index.php?id=15">Contact</a>
</li>
</ul>
</div>
我的问题是,一旦我点击进近菜单链接,我就会激活“进近”链接。如何在不触发链接的情况下仅激活.show()API
更具体地说,如果我点击“接近”,我不想进入那个页面,我只想让子菜单折叠
这有意义吗?如果是这样,请给我一个提示。试试这个
$("a").click(function(event){
event.preventDefault();
});
检查此事件。preventDefault() 您的选择器错误,请使用以下选项:
$('#mobile #navigation > li:has(ul) > a').on("click",function(e) {
$(this).siblings('ul').show().end().closest('li').siblings().find('ul').hide();
e.preventDefault()
});
我已将+a
更改为>a
,因为a
是li
的孩子
我还将.find('ul')
更改为。兄弟姐妹('ul')
我在最后一个.sibbines()
之前添加了.closest('li')
$('#mobile #navigation > li:has(ul) > a').on("click",function(e) {
$(this).siblings('ul').show().end().closest('li').siblings().find('ul').hide();
e.preventDefault()
});