Javascript 一次单击即可切换多个类
我正在制作一个常见问题解答,其中答案会在单击时切换,但它也会切换一个div类以更改颜色。它在第一个div中工作得很好,但是我想用同样的代码触发另一个类,通过添加另一个toggleClass,我几乎可以让它工作,但是.c也切换.b而不是to.dJavascript 一次单击即可切换多个类,javascript,jquery,Javascript,Jquery,我正在制作一个常见问题解答,其中答案会在单击时切换,但它也会切换一个div类以更改颜色。它在第一个div中工作得很好,但是我想用同样的代码触发另一个类,通过添加另一个toggleClass,我几乎可以让它工作,但是.c也切换.b而不是to.d $(.faq div.answer”),$(.faq div.faqbox”)。单击(函数(a){ a、 预防默认值(); var n=$(this.parent().find(“div.answer”); $(.faq div.answer”).not
$(.faq div.answer”),$(.faq div.faqbox”)。单击(函数(a){
a、 预防默认值();
var n=$(this.parent().find(“div.answer”);
$(.faq div.answer”).not(n),n.slideToggle(),$(this.find(“div”).toggleClass(“ab”).toggleClass(“cd”)
});代码>
。回答{
显示:无;
}
.a{宽度:20px;高度:20px;背景:#000000;}
.c{宽度:20px;高度:20px;背景:#888888;}
.b{宽度:20px;高度:20px;背景:#ff0000;}
.d{宽度:20px;高度:20px;背景:00ff00;}
问题
答复
问题
答复
Toggle类将删除存在的类,如果不存在则添加,这意味着$(this).find(“div”).toggleClass(“ab”).toggleClass(“cd”)语句将始终添加元素没有的三个类
要解决此问题,您可以获取具有类a
或b
的所有子元素,并切换ab
类,并对cd
类执行相同操作,下面是一个示例:
$(.faq div.answer”),$(.faq div.faqbox”)。单击(函数(a){
a、 预防默认值();
var n=$(this.parent().find(“div.answer”);
n、 滑动切换();
$(此).find(“a区,b区”).toggleClass(“a区,b区”);
$(this.find('div.c,div.d')。toggleClass(“cd”);
});代码>
。回答{
显示:无;
}
.a{宽度:20px;高度:20px;背景:#000000;}
.c{宽度:20px;高度:20px;背景:#888888;}
.b{宽度:20px;高度:20px;背景:#ff0000;}
.d{宽度:20px;高度:20px;背景:00ff00;}
问题
答复
问题
答复