Довольно распространенная задача – подсвечивать элементы формы. Например, при проверке на корректность заполнения очень неплохо подсветить их и перевести фокус на пропущенные элементы.
Чаще всего для подсветки я выделяю border у элементов как правило красным цветом. Для реализации использую jQuery и классы CSS, если ест такая возможность. Потому тут опишу 2 метода.
1й метод. С помощью класса CSS
Для реализации метода создаю класс .red:
.red { border: #f00 1px solid; }
С помощью JavaScript добавляю код для добавления класса к элементу. Для примера буду использовать добавление класса и его удаление при нажатии кнопки с ID 'colorizeBtn':
$(document).ready(function () { var clicked = 0; $('#colorizeBtn').click(function() { if(clicked%2 == 0) { $('input').addClass('red'); } else { $('input').removeClass('red'); } clicked++; }); });
2й метод. С помощью добавления стилей CSS
Этот метод рекомендую использовать только тогда, когда нет возможности подключить CSS класс.
$(document).ready(function () { var clicked = 0; $('#colorizeBtn').click(function() { if(clicked%2 == 0) { $('input').css( { 'border-color': '#f00', 'border-width' : '1px', 'border-style' : 'solid' }); } else { $('input').css( { 'border-color': '#000', 'border-width' : '1px', 'border-style' : 'solid' }); } clicked++; }); });
Очевидный минус этого метода – нельзя вернуться к первоначальному состоянию элемента, можно только добавить стиль, такой же как у первоначального состояния. Но если спустя какое-то время изменить основной CSS файл, то про этот обработчик вы скорей всего не вспомните. Потому этот метод использовать не рекомендую.