131 votes

Quelle est la signification du symbole $ en jQuery?

Que signifie le signe $ dans jQuery ?

0 votes

Vous pourriez rendre le titre un peu plus descriptif, au lieu de ressembler simplement à quelques tags de catégorie

21 votes

C'est une bonne question pour les débutants en jquery tels que moi. J'ai bricolé quelques pages jquery en coupant et collant depuis internet, et c'était la première question que je me posais sur ce que je faisais.

144voto

Andrea Points 1251

L'objet jQuery :)

D'après la documentation jQuery :

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

Ainsi, l'utilisation de $("#id") ou jQuery("#id") est la même.

0 votes

Hi, @Andrea je ne sais pas si ma question est correcte ou non, je suis nouveau sur jQuery. Pouvons-nous remplacer ce $ par un autre symbole ? et si possible, comment ?

0 votes

@Hulk vous pouvez utiliser noConflit() pour le remplacer.

50voto

Lance Fisher Points 13547

Étrange mais vrai, vous pouvez utiliser "$" comme nom de fonction en 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à le $. Il suffit d'utiliser jQuery.noConflict(). $ est assez couramment utilisé comme fonction de sélecteur en JS.

Dans jQuery, la fonction $ fait bien plus que simplement sélectionner des éléments.

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

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

8 votes

Vous savez, ceci DEVRAIT VRAIMENT être la bonne réponse à cette question... Je ne peux pas croire que toutes ces réponses plaisantines ont obtenu tant de votes positifs.

1 votes

D'accord avec les commentaires de reedvoid. C'est un reflet de l'état des choses dans la programmation Javascript. Cela dit, le lien plus précis maintenant qui répond à la question est api.jquery.com/jQuery

0 votes

Si $ est une fonction, comment pouvons-nous appeler la méthode noConflict() dessus? Cela aurait été possible si $ était un objet, et non une fonction.

34voto

Elzo Valugi Points 10906

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

5 votes

Eh bien, j'ai bien aimé le terme sucre syntaxique. Merci pour cela :)

4 votes

Comment est-ce une réponse? De cela j'ai appris que le signe '$' en jQuery signifie "sucre syntaxique". Et l'article lié parle en long et en large des comment et des pourquoi, sans y répondre de manière concise. La réponse suivante de @andrea fait le travail en trois mots.

0 votes

Je pense que l'OP voulait savoir pourquoi ce symbole $ a été choisi pour représenter la bibliothèque, pas ce qu'il signifie réellement, ce qui est plutôt évident et documenté

30voto

Daniel Moura Points 4298

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 d'abord implémentée. En faisant cela, pour utiliser jQuery, vous ne pouvez plus faire $('div.someClass'), au lieu de cela jQuery('div.someClass').

Alternativement, vous pouvez faire ceci:

jQuery.noConflict();

jQuery.ready(function($) {
   // utiliser $ pour jQuery
}

//utiliser $ pour l'autre bibliothèque

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

function($) {

//utilisez $ pour écrire votre plugin

}(jQuery)

9voto

googletorp Points 22395

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X