Не применяется класс к кнопкам js
Пытаюсь применить стиль к кнопкам, а к ним он вроде как применяется в дев тулсе, а вот внешне сам стиль не меняется
(JS)
$(window).on('load', function() {
$('.tabs_menu a').click(function(e){
e.preventDefault();
$('.tabs_menu .active').removeClass('active');
$(this).addClass('active');
var tab = $(this).attr('href');
$('.tab').not(tab).css({'display': 'none'});
$(tab).fadeIn(400);
});
});
(CSS)
.tabs_menu .active {
color: rgb(179, 137, 137);
background: #FFF;
}
(HTML)
<div class="switch-buttons">
<div class="tabs_menu">
<a id="bttn1" href="#tab1">О сообществе</a>
<a id="bttn2" href="#tab2">Описание проекта</a>
<a id="bttn3" class="active" href="#tab3">Ответы на вопросы</a>
<a id="bttn4" href="#">Группа ВКонтакте</a>
</div>
</div>
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Проблема в этой строке:
<a id="bttn4" href="#">Группа ВКонтакте</a>
У ссылки стоит лишь #, поэтому при клике на неё вываливается ошибка, когда доходит до этой строки:
$(tab).fadeIn(400);
Т.к. Jquery это элемент, обозначающий идентификатор и он пытается дальше парсить, а дальше ничего нет. Если написать хотя бы вот так #t, то Jquery не сругнётся и будет работать
$(window).on('load', function() {
$('.tabs_menu a').click(function(e) {
e.preventDefault();
$('.tabs_menu .active').removeClass('active');
$(this).addClass('active');
var tab = $(this).attr('href');
$('.tab').not(tab).css({
'display': 'none'
});
$(tab).fadeIn(400);
});
});
.tabs_menu .active {
color: rgb(179, 137, 137);
background: #FFF;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script>
<div class="switch-buttons">
<div class="tabs_menu">
<a id="bttn1" href="#tab1">О сообществе</a>
<a id="bttn2" href="#tab2">Описание проекта</a>
<a id="bttn3" class="active" href="#tab3">Ответы на вопросы</a>
<a id="bttn4" href="#t">Группа ВКонтакте</a>
</div>
</div>
Автор решения: OdelyaZ
→ Ссылка
Решение:
.tabs_menu .active {
color: black !important;
background: #FFF !important
}
