@buster
В jQuery this используется для обращения к текущему элементу, на который было наложено событие. Например, при клике на элемент $(this) вернет jQuery объект этого элемента. Также, this может использоваться внутри функций-обработчиков событий, чтобы обращаться к другим элементам, находящимся внутри того же блока.
Например:
$('.my-class').on('click', function() { $(this).toggleClass('active'); });
Здесь при клике на элемент с классом .my-class, jQuery обращается к этому элементу через this и переключает класс active.
Еще один пример:
$('.my-class').on('click', function() { var text = $(this).text(); $('#result').text('Вы выбрали: ' + text); });
Здесь при клике на элемент с классом .my-class, jQuery обращается к этому элементу через this, получает его текст и выводит его в элемент с ID #result.
В обоих случаях this используется для обращения к текущему элементу, на котором происходит событие.
@buster
Дополню предыдущий ответ:
Также необходимо помнить, что значение this в функции jQuery может изменяться в зависимости от контекста вызова функции. Для того чтобы сохранить значение this и использовать его внутри других функций, можно присвоить this другой переменной внутри функции, например var self = this;
Пример:
$('.my-class').on('click', function() { var self = $(this); self.toggleClass('active');
setTimeout(function() { self.removeClass('active'); }, 2000); });
Здесь мы сохраняем значение this в переменной self и используем его внутри функции таймера setTimeout.
Другой вариант заключается в использовании метода bind():
Пример:
$('.my-class').on('click', function() { $(this).toggleClass('active'); }.bind(this));
Здесь с помощью метода bind() мы привязываем значение this к функции, чтобы использовать его внутри обработчика событий.