Зависит от того, к чему относится this
.
Внутри функции обработчика события this
ссылается на элемент HTML, из которого происходит событие. Для выполнения операций jQuery над элементом вы используете $(this)
, чтобы обернуть элемент HTML.
this
в рамках метода плагина относится к самому объекту выбора jQuery. Кроме того, в плагинах метод jQuery each
используется для выполнения функции для каждого элемента в выборе jQuery. Часто так пишутся плагины для предоставления нового метода:
jQuery.fn.alertClasses = function()
{
// "this" refers to the jQuery object, returned by $(...)
if(this[0] === undefined)
return this;
this.each(function() {
// "this" now refers to an HTML element in the jQuery object
alert(this.className)
});
// "this" refers to the jQuery object again
return this;
}
Короче говоря, все дело в контексте метода. Документация jQuery объясняет эту концепцию всякий раз, когда вы смотрите на методы, которые изменяют значение this
.