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()
});