2016-06-15 4 views
0

Каков наилучший способ добавить и удалить классы, нажав кнопку взад и вперед?Добавить/удалить класс при нажатии, JQuery

$('button.hamburger').on('click', function(){ 
     $(this).addClass('is-active'); 
    }); 

    $('button.is-active').on('click', function(){ 
     $('button.is-active').removeClass('is-active'); 
    }); 

Не удаляется. Активный класс.

Нужно ли, если статусы проверяют, является ли элемент .hasClass()?

ответ

1

Поскольку активный класс добавляет динамически, вам нужно использовать делегат,

$(document).on('click', 'button.is-active', function() { 
    $(this).removeClass('is-active'); 
}); 

Или вы можете просто использовать toggleClass(),

$('button.hamburger').on('click', function() { 
    $(this).toggleClass('is-active'); 
}); 
0

Вы можете использовать toggleClass() - Ура.

$("button.hamburger").click(function(){ 
 
    $(this).toggleClass("is-active"); 
 
});
.is-active { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="hamburger">Click me...</button>

Смежные вопросы