Помогите разобрать 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 с параметром, зависящим от текста елемента.