${varname}
is just a naming convention jQuery developers use to distinguish variables that are holding jQuery elements.
Plain {varname}
is used to store general stuffs like texts and strings.
${varname}
holds elements returned from jQuery.
You can use plain {varname}
to store jQuery elements as well, but as I said in the beginning this distinguishes it from the plain variables and makes it much easier to understand (imagine confusing it for a plain variable and searching all over to understand what it holds).
For example :
var $blah = $(this).parents('.blahblah');
Here, blah is storing a returned jQuery element.
So, when someone else see the $blah
in the code, they'll understand it's not just a string or a number, it's a jQuery element.