[英]Issue with removing jquery class
任何人都可以幫我解決這個問題嗎?
基本上我希望腳本在點擊時將'active'類添加到'li',並在另一次點擊時刪除它 - 好吧,它添加了類並自動刪除它:-)我真的很感激任何解決方案。
PS。 我已經查看了有關此問題的其他問題,但我沒有找到任何可以幫助我的答案。
jQuery(document).ready(function() {
jQuery('li').each(function() {
var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
faq.click(function() {
state = !state;
answer.slideToggle(state);
faq.addClass('active',state);
if(jQuery("li").hasClass("active")) {
jQuery(".active").remove(); }
});
});
});
jQuery(".active").removeClass(); }
解決了問題的一半
它實際上是.removeClass() ,你必須嘗試.. !!
jQuery(document).ready(function() {
jQuery('li').each(function() {
var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
faq.click(function() {
state = !state;
answer.slideToggle(state);
faq.addClass('active',state);
if(jQuery("li").hasClass("active")) {
jQuery(".active").removeClass(); }
});
});
});
要么
采用
jQuery(document).ready(function() {
jQuery('li').each(function() {
var faq = jQuery(this), state = true, answer = faq.next('.answer').hide().css('height','auto').slideUp();
faq.click(function() {
state = !state;
answer.slideToggle(state);
faq.addClass('active',state);
$( this ).toggleClass( "active" );
});
});
});
更新
根據@AndyAndy的評論更新:
想象一下
有一個“+”圖標,點擊它會變為“ - ”圖標並顯示答案。
jQuery(document).ready(function() {
jQuery('li').each(function() {
var faq = jQuery(this), answer = faq.next('.answer').hide().css('height','auto').slideUp();
faq.click(function() {
answer.slideToggle('.active');
if($(this).text()=='+')
{
$(this).text('-');
}
else{
$(this).text('+');
}
});
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.