In JavaScript identifier can start with _ OR $ or Character. And $ is valid to be used in identifiers.
In the JavaScript frameworks(like JQuery) $ is very nicely used. However its always suggested as good practice not to user the $ for identifiers.

The $ sign does not have any special meaning in JavaScript, unlike languages like Perl or PHP, where it's used to indicate that something is a variable. So when you see something like var $foo it's is only a variable whose name happens to start with dollar.

You see a lots of dollars out there because many popular JavaScript libraries have chosen a single $ as a name for their main object. It's short and handy to have a function you can call with $(). As a consequence of this, some programmers use a naming convention for their own variables: they use $ as a prefix if the variable is an instance of the framework object. That makes it easy to spot visually if a variable is an scalar or an object.