1

我在停止使用 WordPress 子菜单传播 jQuery 时遇到问题。

这是我的脚本:

$("#menu-item-302900 a").click(function(){                                      
    $.get('/?deletecookie', function() {
        window.location.href = "/";
    });
    return false;
});

生成的 HTML:

<ul class="tabset">
    <li id="menu-item-302900" class="active">
        <a href="/future-residents">Future Residents</a>
        <ul class="sub-menu">
            <li id="menu-item-304504"><a href="/apply-online/">Apply Online</a></li>
            <li id="menu-item-304505"><a href="/other/">Other Link</a></li>
            <li id="menu-item-304540"><a href="/other1/">Other Link 1</a></li>
        </ul>
    </li>
    <li id="menu-item-303026"><a href="/other2/">Other Link 2</a></li>
</ul>

即使单击其中一个子菜单项,javascript 也会生效。

当然,我尝试使用 function(e){e.stopPropagation();} 修改代码,但这并没有解决问题。

寻找一种解决方法,将 jQuery 专门限制为所选菜单项上的元素,而不是子菜单中的任何元素。

任何人都可以就解决方案提出建议吗?

谢谢

4

1 回答 1

2

目前您正在使用“后代选择器”与 . 下的所有 a'匹配ul。相反,您可以使用限制性更强的“子”选择器:

"#menu-item-302900 > li > a"
于 2014-12-17T14:45:25.510 回答