2017-02-17 2 views
1

У меня возникли проблемы с удалением класса из элемента, когда отдельный div закрыт.removeClass() Когда div закрыт

Вы можете видеть из моего кода ниже, и мой Fiddle

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

Я пробовал removeClass, но безуспешно.

JS

$(document).ready(function() { 
    $(".tabs-menu a").click(function(event) { 
    event.preventDefault(); 
    $(this).parent().addClass("current"); 
    $(this).parent().siblings().removeClass("current"); 
    var tab = $(this).attr("href"); 
    $(".tab-content").not(tab).css("display", "none"); 
    $(tab).slideToggle(); 
    }); 
}); 

HTML

<div id="tabs-container"> 
    <div class="tabs-menu"> 
    <div><a href="#tab-1">One</a></div> 
    <div><a href="#tab-2">Two</a></div> 
    <div><a href="#tab-3">Three</a></div> 
    <div><a href="#tab-4">Four</a></div> 
    </div> 
    <div class="tab"> 
    <div id="tab-1" class="tab-content"> 
     Hello 
    </div> 
    <div id="tab-2" class="tab-content"> 
     Number Two 
    </div> 
    <div id="tab-3" class="tab-content"> 
     Tab 3 
    </div> 
    <div id="tab-4" class="tab-content"> 
     Bye 
    </div> 
    </div> 
</div> 
+0

http://stackoverflow.com/a/42293941/4248328 –

ответ

5

Используйте функцию toggleClass, чтобы добавить/удалить классу

$(this).parent().toggleClass("current"); 

демо: http://jsfiddle.net/Us8uc/6747/

+0

быстрое и идеальное решение +1 –

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