Страницы

Поиск по вопросам

суббота, 7 марта 2020 г.

Как сделать чтобы не дублировать код в JS?

#javascript


Здравствуйте.

Подскажите, как сделать, чтобы не дублировать этот код:

var showError = function(el) {
  el.parentNode.classList.remove('error');
  el.parentNode.classList.add('success');
  el.nextElementSibling.InnerHTML = element.dataset.error;
}
var showSuccess = function(el) {
  el.parentNode.classList.remove('error');
  el.parentNode.classList.add('success');
  el.nextElementSibling.InnerHTML = '';
}

    


Ответы

Ответ 1



function getClassSwitcher(classOff, classOn, getErrorMsg) { return function(el) { el.parentNode.classList.remove(classOff); el.parentNode.classList.add(classOn); el.nextElementSibling.innerHTML = getErrorMsg(); }; } const showError = getClassSwitcher('success', 'error', () => element.dataset.error); const showSuccess = getClassSwitcher('error', 'success', () => ''); Вариант попроще: function toggleClasses(el, on, off) { el.classList.remove(off); el.classList.add(on); } const showError = function(el) { toggleClasses(el.parentNode, 'error', 'success'); el.nextElementSibling.innerHTML = element.dataset.error; } const showSuccess = function(el) { toggleClasses(el.parentNode, 'success', 'error'); el.nextElementSibling.innerHTML = ''; }

Комментариев нет:

Отправить комментарий