Почему бы не использовать комбинацию CSS и jQuery для этого? Вы будете меньше следить за.
Измените ваш HTML на:
<th><a class="red-btn pcb sort"><span> Red </span> </a><th>
<th><a class="blue-btn pcb"><span> Blue </span> </a><th>
<th><a class="green-btn pcb"><span> Green </span> </a><th>
<th><a class="orange-btn pcb"><span> Orange </span> </a><th>
Где вы добавляете "sort" как класс к тому, который вы хотите выделить. Тогда вы можете использовать следующий jQuery:
$(document).ready(function(){
$("a.pcb").click(function(){
$("a.pcb").removeClass("sort");
$(this).addClass("sort");
});
});
Я предполагаю, что класс .pcb уникален для этих кнопок. Затем в CSS вам просто нужно определить нормальное и «сортирующее» состояния для каждого (что вы в основном уже делаете):
a.red-btn {
color: red;
}
a.red-btn.sort {
font-weight: bold;
}
Не знаю, как выглядят ваши стили, но вы должны понять. Черт возьми, если ваше активное состояние имеет такой же эффект (только жирный шрифт и т. Д.), Вы можете получить еще более приятный вид, и вам понадобится только одно определение класса сортировки:
a.red-btn {
color: red;
}
a.blue-btn {
color: blue;
}
a.pcb.sort {
font-weight: bold;
}