131

What does the $ sign in jQuery stand for?

Penny Liu
  • 15,447
  • 5
  • 79
  • 98
user366312
  • 16,949
  • 65
  • 235
  • 452
  • you could make the title a wee bit more descriptive, instead of just looking like a couple of category tags – Michael Paulukonis Jun 26 '09 at 18:23
  • 21
    it's a fine question for jquery noobs such as myself. I cobbled together some jquery pages by cutting and pasting from the internet, and it was the first question I had about what I was doing. – Mark Harrison Jun 27 '09 at 03:40

11 Answers11

144

The jQuery object :)

From the jQuery documentation:

By default, jQuery uses "$" as a shortcut for "jQuery"

So, using $("#id") or jQuery("#id") is the same.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Andrea
  • 2,059
  • 2
  • 14
  • 15
  • Hi, @Andrea i don't know whether i'm asking correct question or not, i'm new to jQuery. Can we replace that $ with any other symbol? and if possible, how? – Hulk Jun 16 '14 at 13:23
  • @Hulk you can use `noConflit()` to replace it . – super cool Sep 09 '15 at 05:40
50

Strange but true, you can use "$" as a function name in JavaScript. It is shorthand for jQuery(). Which you can use if you want. jQuery can be ran in compatibility mode if another library is using the $ already. Just use jQuery.noConflict(). $ is pretty commonly used as a selector function in JS.

In jQuery the $ function does much more than select things though.

  1. You can pass it a selector to get a collection of matching elements from the DOM.
  2. You can pass it a function to run when the document is ready (similar to body.onload() but better).
  3. You can pass it a string of HTML to turn into a DOM element which you can then inject into the document.
  4. You can pass it a DOM element or elements that you want to wrap with the jQuery object.

Here is the documentation: https://api.jquery.com/jQuery/

Afriza N. Arief
  • 7,696
  • 5
  • 47
  • 74
Lance Fisher
  • 25,684
  • 22
  • 96
  • 122
  • 8
    You know, this REALLY should be the right answer for this question... I can't believe all those joke-y answers got all the up-votes. – reedvoid Aug 15 '13 at 12:59
  • 1
    Agree with reedvoid's comments. It is a reflection on the state of affairs in Javascript programming. That said, the more precise link now that answers the question is http://api.jquery.com/jQuery/ – Sunny Nov 22 '15 at 15:30
  • If $ is a function, then how are we calling the method noConflict() on it? That would have been possible if $ was an object, not function. – darKnight Jun 21 '16 at 15:21
  • 1
    @dk49 In JavaScript, functions can have properties too. Try this: function Person() {}; Person.city = 'Missoula'; console.log(Person.city) – Lance Fisher Jun 21 '16 at 16:05
  • For more evidence try `typeof $` which will ouput "Function". ;) – Lance Fisher Jun 21 '16 at 16:07
34

It is syntactic sugar. It is not specific only to jQuery; other libraries use it as well. You can look for a full-details article about the use of dollar sign in JavaScript here.

Elzo Valugi
  • 27,240
  • 15
  • 95
  • 114
  • 5
    Well, I liked the term *syntactic sugar*. Thank for that :) – Ravi Dhoriya ツ Jul 21 '14 at 13:59
  • 4
    How is this an answer? From this I learned that the '$' sign in jQuery stands for "syntactic sugar". And the linked article talks at length about the hows and the why, without answering it concisely. The next answer by @andrea does the job in three words. – lorenzog Nov 06 '15 at 18:08
  • I think the OP wanted to know why is that $ symbol chosen to represent the library, not on what really means, which is kinda obvious and documented – Elzo Valugi Nov 06 '15 at 20:04
  • that link doesnt work anymore, the one that you said explains in detail $ – user734028 Mar 29 '18 at 14:06
  • @user734028 I changed the link to a cached one, please check now – Elzo Valugi Apr 03 '18 at 09:58
30

As said in other answers $ is a shortcut to the jQuery function.

Some JavaScript libraries uses $ too (example: prototype). To avoid conflict with those other libraries jQuery provides jQuery.noConflict() function. Calling this function the control of the $ variable goes back to the other library that first implemented it. Doing this to use jQuery you can't do this $('div.someClass') anymore, instead jQuery('div.someClass').

Alternatively can do this:

jQuery.noConflict();

jQuery.ready(function($) {
   // use $ for jQuery
}

//use $ for the other library

When writing plugins to avoid problems with the usage of noConflict you can pass 'jQuery' to a function:

function($) {

//use $ writing your plugin

}(jQuery)
Daniel Moura
  • 7,816
  • 5
  • 35
  • 60
9

$ is simply a function called jQuery. It is how you access all of the functionality in the jQuery lib.

You can find it here: http://docs.jquery.com/%24

googletorp
  • 33,075
  • 15
  • 67
  • 82
7

It's short for jQuery. The object where all the jQuery functionality live.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Brian
  • 2,253
  • 2
  • 23
  • 39
5

The $ is syntactic sugar like @Elzo mentioned. Nobody actually answered your question though. The $ is shorthand in jQuery for window.jQuery, so you don't have to type it every single time.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
tommydevs
  • 147
  • 2
  • 11
4

$ is just another variable. In the case of jQuery this references the function jQuery.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
James Z.
  • 119
  • 2
  • 9
4

A $ sign to define/access jQuery

Onic Team
  • 1,620
  • 5
  • 26
  • 37
1

$ sign to define/access jQuery $(selector).action()

http://www.w3schools.com/jquery/jquery_syntax.asp

void
  • 376
  • 2
  • 7
  • 18
1

Look at the jQuery library file.

//Expose jQuery and $ identifiers.

if ( typeof noGlobal === strundefined ) {
    window.jQuery = window.$ = jQuery;
}

Global $ points to jQuery.