When/why to prefix variables with "$" when using jQuery? [duplicate]
Possible Duplicate:
Why would a javascript variable start with a dollar sign?
I see people using the dollar sign in front of variables when using jQuery. Is there any reason behind this? I'm I missing something basic or is it just a common practice?
Solution 1:
It's a common reference to a jQuery wrapped object. It makes reading the code easier to know which variables are jQuery wrapped.
//Item has been "cached" for later use in the script as a jQuery object.
var $item = $(this);
Solution 2:
For me a common practice is this:
If a variable is private I use an underscore like this:
(function(){
var _foo = "bar";
})()
If it's public I'll use no underscore:
var foo = "bar"
And if it's a jQuery selector I'll use the $
:
var $foo = $('bar');
//then you can access it like this
$foo.attr('id')
It's just coding convention and it allows you to quickly reference what type the variable is later in the code.
Solution 3:
Many people using jQuery will prefix variables that contain a jQuery object with a $, so that they are easily identified. Consider this example:
var $img = $(".someclass span.otherclass img");
/* somewhere later in the code */
$img.bind("click", function() {/*...*/});