На самом деле jQuery - это оболочка для JavaScript DOM, которая одновременно расширяет и упрощает его.
Очень кратко селекторы JQuery возвращают JQuery Object / s, т.е.
var jQueryResults = $("article"); //Contains all article elements in the DOM as JQuery objects
Однако, выбор элементов с помощью Javascript возвращает элементы HTML DOM, т.е.
var normalResults = document.getElementsByTagName("article");//Contains all article elements in the DOM as HTML objects
Проблемы возникают из-за того, что объекты DOM не предоставляют такую же функциональность, как объекты JQuery.
Вот пример события, которое иллюстрирует разницу:
$('.changeColorHover').hover(function() {
this.attr("style", "color:red");
}); //Will not work as we are trying to call a JQuery method on a DOM object
С учетом вышесказанного ключевое слово this является объектом DOM, поэтому вам необходимо преобразовать его в объект jQuery, чтобы использовать методы jQuery.
$('.changeColorHover').hover(function() {
$(this).attr("style", "color:red");
}); //Will work since we have first converted the DOM object to a JQuery object
Подводя итог, ключевое слово this позволяет получить доступ к объекту, вызвавшему событие, поскольку это даст ссылку на объект, вызвавший событие. Но это объект DOM, а не объект jQuery. В результате любой из методов jQuery, которые вы хотели бы использовать, недоступен, если вы не преобразуете его в объект jQuery.