Прежде всего класс .selected
будет применяться каждый раз, но из-за приоритета селектора он будет перезаписан на .button
. Таким образом, существует множество способов исправить это.
Вы можете использовать ключевое слово !important
(вообще не рекомендуется)
.selected {
background-color: red !important;
}
ПРИМЕЧАНИЕ: Вы следует избегать использования клавиатуры !important
как можно чаще, но в вашем конкретном случае это лучший способ сделать это, но я настоятельно рекомендую изменить ваш стиль и использовать селектор pseudo-class
для ваши основные классы вместо. просто так:
.buttons:first-of-type {
background-color: blue;
}
.buttons:nth-of-type(2) {
background-color: green;
}
/* and so on */
И использовать метод спецификаций c для вашего selected
класса примерно так:
.buttons.selected {
background-color: red;
}
Или
Вы можете использовать прямой, но повторяющийся подход. Сделайте так, чтобы ваш .selected
селектор классов был примерно таким:
#button_1.selected, #button_2.selected /* and so on */ {
background-color: red;
}
Также для упрощения кода js вы можете сделать следующее:
$('.buttons').click(function () {
$(this).toggleClass("selected"); // $(this) keyword will refer to the clicked button, each time attribute with class buttons got clicked.
});