Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Анализ фрагмента кода (https://javascript.ru/forum/jquery/62347-analiz-fragmenta-koda.html)

megoloman 06.04.2016 11:55

Анализ фрагмента кода
 
Вложений: 1
Здравствуйте! Помогите пожалуйста со следующей проблемой.

Я ковыряюсь в чужом большом проекте и анализирую код. Имеется выбор большого района и дочерних от него подрайонов в виде чекбоксов(фотка во вложении). Следующий код отвечает за установку/снятие галочек со всех дочерних чекбоксов после нажатия на родительский:

$('#sublocality-choice input:checkbox, #province-choice input:checkbox').change(function () {
    var t = $(this).parent().text();
    1 == $(this).prop('checked') ? ($(this).parent().hasClass('big-subloc-head') && $(this).parent().parent().find('li label').each(function () {
      var t = $(this).text();
      $(this).find('input:checkbox').prop('checked', !0),
      $('#chosen-subloc span:contains("' + t + '")').detach()
    }), $('#chosen-subloc').append('<span>' + t + '</span>'))  : ($(this).parent().hasClass('big-subloc-head') && $(this).parent().parent().find('li input:checkbox').each(function () {
      $(this).prop('checked', !1)
    }), $('#chosen-subloc span:contains("' + t + '")').detach())
  })


Помогите пожалуйста разобраться с тем , что же делает вот этот фрагмент:

$('#chosen-subloc').on('click', 'span', function () {
    var t = $(this).text();
    $(this).detach();
    var e = ($('#sublocality-choice label, #province-choice label'), $('#sublocality-choice label:contains("' + t + '"), #province-choice label:contains("' + t + '")'));
    $(e).hasClass('big-subloc-head') ? $(e).parent().find('input:checkbox').each(function () {
      $(this).prop('checked', !1)
    })  : $(e).find('input:checkbox').prop('checked', !1)
  })


Менял prop('checked', !1) на prop('checked', !0), но никаких изменений в отличие от предыдущего фрагмента не заметил, непонятно, что здесь происходит.


Часовой пояс GMT +3, время: 12:44.