Quelle est la signification du symbole $ dans jQuery?

123

Que signifie le $signe dans jQuery?

user366312
la source
vous pourriez rendre le titre un peu plus descriptif, au lieu de ressembler à quelques balises de catégorie
Michael Paulukonis
20
c'est une bonne question pour jquery noobs comme moi. J'ai bricolé quelques pages jquery en coupant et collant à partir d'Internet, et c'était la première question que j'avais sur ce que je faisais.
Mark Harrison

Réponses:

138

L'objet jQuery :)

Depuis la documentation jQuery:

Par défaut, jQuery utilise "$" comme raccourci pour "jQuery"

Donc, en utilisant $("#id") ou jQuery("#id")est le même.

Andrea
la source
Salut, @Andrea je ne sais pas si je pose la bonne question ou non, je suis nouveau sur jQuery. Pouvons-nous remplacer ce $ par un autre symbole? et si possible, comment?
Hulk
@Hulk vous pouvez utiliser noConflit()pour le remplacer.
super cool le
44

Étrange mais vrai, vous pouvez utiliser "$" comme nom de fonction dans JavaScript. C'est un raccourci pour jQuery (). Que vous pouvez utiliser si vous le souhaitez. jQuery peut être exécuté en mode de compatibilité si une autre bibliothèque utilise déjà $. Utilisez simplement jQuery.noConflict (). $ est assez couramment utilisé comme fonction de sélection dans JS.

Dans jQuery, la fonction $ fait bien plus que sélectionner des choses.

  1. Vous pouvez lui passer un sélecteur pour obtenir une collection d'éléments correspondants du DOM.
  2. Vous pouvez lui passer une fonction à exécuter lorsque le document est prêt (similaire à body.onload () mais mieux).
  3. Vous pouvez lui passer une chaîne de HTML pour le transformer en un élément DOM que vous pouvez ensuite injecter dans le document.
  4. Vous pouvez lui transmettre un ou des éléments DOM que vous souhaitez encapsuler avec l'objet jQuery.

Voici la documentation: https://api.jquery.com/jQuery/

Lance Fisher
la source
7
Vous savez, cela devrait VRAIMENT être la bonne réponse à cette question ... Je ne peux pas croire que toutes ces réponses à la plaisanterie aient obtenu tous les votes positifs.
reedvoid
1
D'accord avec les commentaires de reedvoid. C'est une réflexion sur l'état des lieux de la programmation Javascript. Cela dit, le lien plus précis maintenant qui répond à la question est api.jquery.com/jQuery
Sunny
Si $ est une fonction, comment appelons-nous la méthode noConflict () dessus? Cela aurait été possible si $ était un objet, pas une fonction.
maverick
1
@ dk49 En JavaScript, les fonctions peuvent également avoir des propriétés. Essayez ceci: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher
Pour plus de preuves, essayez typeof $ce qui sortira "Fonction". ;)
Lance Fisher
34

C'est du sucre syntaxique . Ce n'est pas spécifique à jQuery; d'autres bibliothèques l'utilisent également. Vous pouvez rechercher un article complet sur l'utilisation du signe dollar en JavaScript ici .

Elzo Valugi
la source
5
Eh bien, j'ai aimé le terme sucre syntaxique . Merci pour ça :)
Ravi Dhoriya ツ
4
Comment est-ce une réponse? De cela, j'ai appris que le signe '$' dans jQuery signifie "sucre syntaxique". Et l'article lié parle longuement du comment et du pourquoi, sans y répondre de manière concise. La réponse suivante de @andrea fait le travail en trois mots.
lorenzog
Je pense que l'OP voulait savoir pourquoi ce symbole $ est choisi pour représenter la bibliothèque, pas sur ce que signifie vraiment, ce qui est un peu évident et documenté
Elzo Valugi
ce lien ne fonctionne plus, celui que vous avez dit explique en détail $
user734028
@ user734028 J'ai changé le lien en un en cache, veuillez vérifier maintenant
Elzo Valugi
30

Comme indiqué dans d'autres réponses, $ est un raccourci vers la fonction jQuery.

Certaines bibliothèques JavaScript utilisent également $ (exemple: prototype). Pour éviter les conflits avec ces autres bibliothèques, jQuery fournit la fonction jQuery.noConflict (). En appelant cette fonction, le contrôle de la variable $ revient à l'autre bibliothèque qui l'a implémentée en premier. En faisant cela pour utiliser jQuery, vous ne pouvez plus faire ceci $ ('div.someClass'), à la place jQuery ('div.someClass').

Vous pouvez également faire ceci:

jQuery.noConflict();

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

//use $ for the other library

Lors de l'écriture de plugins pour éviter les problèmes d'utilisation de noConflict, vous pouvez passer 'jQuery' à une fonction:

function($) {

//use $ writing your plugin

}(jQuery)
Daniel Moura
la source
9

$ est simplement une fonction appelée jQuery. C'est ainsi que vous accédez à toutes les fonctionnalités de la librairie jQuery.

Vous pouvez le trouver ici: http://docs.jquery.com/%24

googletorp
la source
7

C'est l'abréviation de jQuery. L'objet où vivent toutes les fonctionnalités jQuery.

Brian
la source
5

Le $ est un sucre syntaxique comme @Elzo l'a mentionné. Personne n'a répondu à votre question. Le $ est un raccourci dans jQuery pour window.jQuery, vous n'avez donc pas à le taper à chaque fois.

tommydevs
la source
4

$ est juste une autre variable. Dans le cas de jQuery, cela fait référence à la fonction jQuery.

James Z.
la source
4

Un signe $ pour définir / accéder à jQuery

Ved Prakash
la source
1

Regardez le fichier de bibliothèque jQuery.

// Expose jQuery et $ identifiers.

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

Global $ pointe vers jQuery.

Parc Sangkun
la source