在jQuery手风琴导航上切换CSS类
所以我知道这个问题被问得太多了,我尝试了我找到的答案,但没有运气 我现在有一个手风琴式导航,在每个可扩展部分旁边都有在jQuery手风琴导航上切换CSS类,jquery,html,css,Jquery,Html,Css,所以我知道这个问题被问得太多了,我尝试了我找到的答案,但没有运气 我现在有一个手风琴式导航,在每个可扩展部分旁边都有+,表示它是可扩展的 当我单击导航中的类别时,我希望+消失,并且只在单击另一个类别后才重新出现在该类别上 我试过这样的方法: $(this).toggleClass("accordion > li:before"); $('.accordion li').toggleClass("accordion > li:before"); 就像这样: $(this).togg
+
,表示它是可扩展的
当我单击导航中的类别时,我希望+
消失,并且只在单击另一个类别后才重新出现在该类别上
我试过这样的方法:
$(this).toggleClass("accordion > li:before");
$('.accordion li').toggleClass("accordion > li:before");
就像这样:
$(this).toggleClass("accordion > li:before");
$('.accordion li').toggleClass("accordion > li:before");
但还没有任何进展。您可以在我的JSFIDLE中看到下面的一个工作示例
jQuery,我目前拥有的,减去我一直试图完成的:
$( document ).ready(function() {
$('.accordion li').children('ul').slideUp('fast');
$('.accordion > li').click(function () {
$(this).siblings('li').find('ul').slideUp('fast');
$('> ul', this).slideDown('fast');
});
$('a').click(function () {
$('a').removeClass("a-active");
$('li').removeClass("li-active");
$(this).addClass("a-active");
$(this).parent('li').addClass("li-active");
});
});
参见小提琴:
HTML:将类添加到所有顶级
<li class="closed">
JavaScript:修改您的li
单击事件
$('.accordion > li').click(function () {
$(this).removeClass('closed');
$(this).siblings('li').addClass('closed').find('ul').slideUp('fast');
$('> ul', this).slideDown('fast');
});
JQuery无法选择伪元素,因为它们不在DOM中。这太完美了!非常感谢。事实上,它破坏了我网站的另一部分。当您单击子菜单项时,它会损坏零件,以前它会在侧面添加一个条。@MathewMacLean我在您原来的小提琴中没有看到条:在我的小提琴中,单击导航,然后单击“第1页”或“第2页”,然后向左看。有一个小的垂直绿色条。我不知怎么删除了CSS的剪贴画-修复-记得接受答案!