Помогите разобрать JQuery

Есть следующий фрагмент кода, что он значит?

    jQuery(".part").filter(function() {
        $(this).toggle(jQuery(this).text().toLowerCase().indexOf(value) > -1);
    });

Ответы (1 шт):

Автор решения: Давид Манжула
jQuery(".part").filter(function() {
  $(this).toggle(jQuery(this).text().toLowerCase().indexOf(value) > -1);
});

Давайте немного преобразуем код для ясности:

jQuery(".part").filter(function() {
  var $element = $(this); // Один из елементов .part
  var innerText = jQuery(this).text().toLowerCase(); // Текст елемента в нижнем регистре
  var textContainsWord = innerText.indexOf(value) > -1; // Если текст содержит value (значение переменной не упомянуто в коде), будет true, иначе - false
  $element.toggle(textContainsWord); // вызывает метод $element.toggle(true) или $element.toggle(false)
});

Функция filter в даном случае просто проходится по елементам, так что ее можно заменить на each.


Данный код проходится по елементам с классом "part" и вызывает к ним метод toggle с параметром, зависящим от текста елемента.

→ Ссылка