2016-09-13 5 views
1

У меня есть списки согласных с одним списком, открытым всегда. Как я могу переключать активный класс при нажатии кнопки?Как переключить класс между двумя элементами с помощью jquery?

<ul class="accordion one-open"> 
    <li class="active"> 
     <div class="title">Title 1</div> 
     <div class="content">Content 1</div> 
    </li> 
    <li> 
     <div class="title">Title 2</div> 
     <div class="content">Content 2</div> 
    </li> 
</ul> 
<button>Toggle the content </button> 
+0

Если вы используете гармошку из jQueryUI, у вас уже есть активный класс на нем. – Vixed

+0

Я думаю, вам нужно начать принимать некоторые ответы на ваши вопросы - это третий вопрос, который вы задали, где вы еще должны принять что-либо или действительно ответить на любого из людей, которые нашли время, чтобы попытаться помочь вам. – Zze

+0

Возможный дубликат [jQuery onclick toggle class name] (http://stackoverflow.com/questions/15627955/jquery-onclick-toggle-class-name) – Zze

ответ

0

Попробуйте изучить класс JavaScriptList.toggle() (несовместимый с IE9 и ниже). В противном случае взгляните на jQuery UI (если jQuery - это путь, по которому вы хотите побродить).

0

Проверьте, работает ли он

$(".accordion li").click(function(){ 
    $("li").removeClass('active'); 
    $(this).addClass('active'); 
}); 
0

вы должны дать свой список идентификатор

$("#item1").click(function(){ 
    $(".active").removeClass("active"); 
    $(this).addClass("active") 
}); 
3

Используйте .toggleClass("active") из JQuery и проверьте ниже фрагмент кода.

$(document).ready(function(){ 
 
    $("#toggel_class").on('click',function(){ 
 
    $("ul li").toggleClass("active"); 
 
    }); 
 
});
.active { color: red }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="accordion one-open"> 
 
    <li class="active"> 
 
     <div class="title">Title 1</div> 
 
     <div class="content">Content 1</div> 
 
    </li> 
 
    <li> 
 
     <div class="title">Title 2</div> 
 
     <div class="content">Content 2</div> 
 
    </li> 
 
</ul> 
 
<button id="toggel_class">Toggle the content </button>

1
$("button").on("click", function() { 
    $("li").toggleClass("active"); 
}); 

Это переключает класс, когда нажата кнопка: https://jsfiddle.net/mqhyLohe/

+0

Вы использовали решение @RahulPatel. – Mohammad

+0

@Mohammad не видел ответа в тот момент, я ответил секундами за ним – nimaek

+0

Вы правы. Я отвечу на ваш ответ. – Mohammad

0

я тоже сталкивался с той же проблемой. Решил его с помощью значков. Пожалуйста, обратитесь ответ here

Это то, что я использовал раньше:

if($(this).text() == "-") 
{ 
    $(this).text("+"); 
    } 
    else { 
    $('#accordion .opener').text("+"); 
    $(this).text("-"); 
    } 
});