WordPress菜单的jQuery传播问题

时间:2014-12-17 14:36:24

标签: jquery wordpress stoppropagation propagation

我遇到了阻止使用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也会生效。

当然,我尝试用函数(e)修改代码{e.stopPropagation();}但是这没有帮助解决这个问题。

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

有人可以就解决方案提出建议吗?

由于

1 个答案:

答案 0 :(得分:2)

目前您正在使用"descendant selector";匹配a下的所有 ul。相反,您可以使用限制性更强的"child" selector

"#menu-item-302900 > li > a"