所以我有它的工作,它显示/隐藏UL的/ LI,但我不知道我在做什么不正确的地方,它没有交换/ – 标志?
这是我的JS:
$(".top ul li:not(:has(li.current))").find("ul").hide().end() // Hide all other ULs .click(function (e) { if (this == e.target) { $(this).children('ul').slidetoggle(); } $(this).children("li.menu-item-has-children").text(this.toggle ? "-" : "+"); return false; });
我有一个类设置来附加li与li:之前在具有嵌套ul的li之前添加符号.但是我不确定我是否正确地换掉这些标志.
这是我做的小提琴:
解决方法
你去:
http://jsfiddle.net/bc4mg13a/13/
$(".menu-item-has-children").on("click",function(e){ e.stopPropagation(); var clickedLi = $(this); $("> ul",clickedLi).slidetoggle(); clickedLi.toggleClass("current"); });
$(“.top ul li:not(:has(li.current))”).find(“ul”).hide().end()//隐藏所有其他UL
.点击
可能:
$(“.top ul li:not(.current)”).find(“ul”).hide().end()//隐藏所有其他UL
.点击
另一方面,我稍微改变了你的代码,简化了选择器.在每次li点击时,我选择直接ul子项,并在i slidetoggle切换类中选择’current’类.
我也通过css上的当前类切换加号.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。