Довольно распространенная задача – подсвечивать элементы формы. Например, при проверке на корректность заполнения очень неплохо подсветить их и перевести фокус на пропущенные элементы.

Чаще всего для подсветки я выделяю 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 файл, то про этот обработчик вы скорей всего не вспомните. Потому этот метод использовать не рекомендую.