What is the difference between this and $(this) in jQuery? And when should I use which?
$('p').each(function () {
//this.id;
//$(this).attr('id');
})
If you consider the function above jQuery will loop through each paragraph element on the page and will return a reference to each paragraph element by passing the 'this' variable into the anonymous function. If the 'this' variable is wrapped in the jQuery function ($(this)) then we can access all the jQuery goodness in relation to the element e.g $(this).find('span')
. The 'this' object on it's own is just a normal Javscript DOM Object.
this
returns a native JavaScript object (if I call it right), $(this)
returns a jQuery object.
$(this)[0] == this
$() is the jQuery constructor function.
this is a reference to the DOM element of invocation.
so basically, in $(this), you are just passing the this in $() as a parameter so that you could call jQuery methods and functions.
duplicate: jQuery: What's the difference between '$(this)' and 'this'?