我已经让它能够显示/隐藏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:before
,在具有嵌套 ul 的 li 前面添加加号。但我不确定我是否正确地交换了符号。
这是我做的 fiddle:
menu-item-has-children
,您可以将其挂钩到其中,以便如果您改为使用CSS隐藏所有sub-nav
UL,则会实现相同的效果。 - Morklympious