Possible Duplicate:
jQuery $(this) vs this
I'm new to this and trying to get my concept right. There has been many instances of the use of "this
" and "$(this)
". Can someone please explain the difference and in what condition that we use the two different "this"?
this and $(this) refers to the same element. The only difference is the way they are used. 'this' is used in traditional sense, when 'this' is wrapped in $() then it becomes a jQuery object and you are able to use the power of jQuery.
$(this) is a jQuery object and this is a pure DOM Element object. See this example: $(".test"). click(function(){ alert($(this). text()); //and alert(this. text()); // error no method });
In jQuery, the $ sign is just an alias to jQuery() , then an alias for a function. This page reports: Basic syntax is: $(selector).action() A dollar sign to define jQuery.
In jQuery functions, this
most often refers to the actual DOM element you're dealing with, whereas $(this)
returns a jQuery object that wraps the element.
In JavaScript, this
always refers to the current scope. Many of jQuery's functions will set that scope to be the element you're working with.
For instance
$("#someElement").click(function() { this; // the element itself $(this); // a jQuery wrapper-object around the element });
The point is, that the jQuery object has all the jQuery functions (like .detatch()
or .prependTo()
etc.), while the DOM element is what the browser provides. In the example above, the element would be exactly the same as what you'd get, if you called document.getElementById("someElement")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With