我遇到了阻止使用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专门限制在所选菜单项上的元素而不是子菜单中的任何元素。
有人可以就解决方案提出建议吗?
由于
答案 0 :(得分:2)
目前您正在使用"descendant selector";匹配a
下的所有 ul
。相反,您可以使用限制性更强的"child" selector:
"#menu-item-302900 > li > a"