Имеется функция которая окрашивает нажатую (активную) строку в голубой цвет, путем добавления строке класса blue_row. Нужно доработать функцию, чтобы в таблице была только одна активная строка. Класс row_summary по умолчанию для всех строк. Я js только начал изучал, поэтому буду благодарен за развернутые ответы.
function initTableRows() {
$("body").on("click","tr.row_summary", function() {
var $trr = $(this);
$trr.toggleClass('blue_row');
});
}
Просто перед тем как навесить класс на новую ссылку, удалите его со старой
function initTableRows() {
$("body").on("click", "tr.row_summary", function() {
var currentActiveLink = $("tr.row_summary.blue_row");
currentActiveLink.removeClass("blue_row");
/*
Нужно добавить проверку, что мы хотим просто
снять класс с активной ссылки
*/
if(currentActiveLink[0] == this) return;
var $trr = $(this);
$trr.toggleClass('blue_row');
});
}
Для лучшей производительности, можно кешировать новую ссылку в какую-то переменную во вне, и уже обращаться к ней при удалении класса
UPD
Если хотите убрать возможность снятия класса с уже активной ссылки, то просто закомментируйте проверку условия
Сборка персонального компьютера от Artline: умный выбор для современных пользователей