ogarich89
@ogarich89
Front-End Developer

Как можно сократить код JS?

Помогите сократить запись

$('body').on('click', function(e) {
		e.preventDefault();
		if ($(e.target).is('#device-btn') || $(e.target).is('.filter-icon') || $(e.target).is('#search-dev') || $(e.target).is('.search-li') || $(e.target).is('.search-container-c .input-row')) {
			$('#device-btn').closest('.filter-row').find('.search-container-c').addClass('db');
		} else {
			$('#device-btn').closest('.filter-row').find('.search-container-c').removeClass('db');
		};
	});
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
api.jquery.com/toggleClass/#toggleClass-className-state

$('body').on('click', function(e) {
    e.preventDefault();
    $('#device-btn').closest('.filter-row').find('.search-container-c').toggleClass('db', 
        $(e.target).is('#device-btn,.filter-icon,#search-dev,.search-li,.search-container-c .input-row')
    );
  });
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
IonDen
@IonDen
JavaScript developer. IonDen.com
Прежде всего вы должны заботиться о читабельности кода. Если сокращения ухудшают читабельность, то они не нужны. Для таких целей существуют uglifyjs.

Ваш код вполне себе читабелен. Другое дело, что тут на лицо ужасное проектирование)
Ответ написан
Комментировать
edli007
@edli007
full stack, team lead
Итак уже ничего непонятно в
$(e.target).is('#device-btn') || $(e.target).is('.fi........


Удлините коментариями.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы