Qual è il significato del simbolo $ in jQuery?


123

Che cosa significa il $segno in jQuery?


potresti rendere il titolo un po 'più descrittivo, invece di sembrare solo un paio di tag di categoria
Michael Paulukonis,

20
è una bella domanda per i principianti jquery come me. Ho messo insieme alcune pagine jquery tagliando e incollando da Internet, ed è stata la prima domanda che avevo su quello che stavo facendo.
Mark Harrison,

Risposte:


138

L'oggetto jQuery :)

Dalla documentazione di jQuery:

Per impostazione predefinita, jQuery utilizza "$" come scorciatoia per "jQuery"

Quindi, usando $("#id") o jQuery("#id")è lo stesso.


Ciao @Andrea, non so se sto facendo la domanda corretta o meno, sono nuovo su jQuery. Possiamo sostituire quel $ con qualsiasi altro simbolo? e se possibile, come?
Hulk

@ Hulk puoi usarlo noConflit()per sostituirlo.
super cool il

44

Strano ma vero, puoi usare "$" come nome di una funzione in JavaScript. È una scorciatoia per jQuery (). Che puoi usare se vuoi. jQuery può essere eseguito in modalità compatibilità se un'altra libreria sta già utilizzando $. Basta usare jQuery.noConflict (). $ è abbastanza comunemente usato come funzione di selezione in JS.

In jQuery la funzione $ fa molto di più che selezionare le cose però.

  1. Puoi passargli un selettore per ottenere una raccolta di elementi corrispondenti dal DOM.
  2. Puoi passargli una funzione da eseguire quando il documento è pronto (simile a body.onload () ma migliore).
  3. Puoi passargli una stringa di HTML da trasformare in un elemento DOM che puoi poi iniettare nel documento.
  4. Puoi passare uno o più elementi DOM che desideri racchiudere con l'oggetto jQuery.

Ecco la documentazione: https://api.jquery.com/jQuery/


7
Sai, questa DAVVERO dovrebbe essere la risposta giusta per questa domanda ... Non posso credere che tutte quelle risposte scherzose abbiano ottenuto tutti i voti positivi.
revoca il

1
D'accordo con i commenti di Reedvoid. È una riflessione sullo stato delle cose nella programmazione Javascript. Detto questo, il link più preciso ora che risponde alla domanda è api.jquery.com/jQuery
Sunny

Se $ è una funzione, come chiamiamo il metodo noConflict () su di essa? Ciò sarebbe stato possibile se $ fosse un oggetto, non una funzione.
maverick

1
@ dk49 In JavaScript, anche le funzioni possono avere proprietà. Prova questo: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher

Per ulteriori prove, provare typeof $quale emetterà "Funzione". ;)
Lance Fisher

34

È zucchero sintattico . Non è specifico solo per jQuery; anche altre biblioteche lo usano. Puoi cercare un articolo completo sull'uso del simbolo del dollaro in JavaScript qui .


5
Beh, mi piaceva il termine zucchero sintattico . Grazie per questo :)
Ravi Dhoriya ツ

4
Come è questa una risposta? Da questo ho imparato che il segno "$" in jQuery sta per "zucchero sintattico". E l'articolo collegato parla a lungo dei come e del perché, senza rispondere in modo conciso. La prossima risposta di @andrea fa il lavoro in tre parole.
lorenzog

Penso che l'OP volesse sapere perché è stato scelto il simbolo $ per rappresentare la biblioteca, non su cosa significa veramente, il che è abbastanza ovvio e documentato
Elzo Valugi

quel link non funziona più, quello che hai detto spiega in dettaglio $
user734028

@ user734028 Ho cambiato il collegamento in uno memorizzato nella cache, controlla ora
Elzo Valugi

30

Come detto in altre risposte $ è una scorciatoia per la funzione jQuery.

Alcune librerie JavaScript utilizzano anche $ (esempio: prototipo). Per evitare conflitti con queste altre librerie, jQuery fornisce la funzione jQuery.noConflict (). Chiamando questa funzione il controllo della variabile $ ritorna all'altra libreria che per prima l'ha implementata. Facendo questo per usare jQuery non puoi più farlo $ ('div.someClass'), invece jQuery ('div.someClass').

In alternativa puoi farlo:

jQuery.noConflict();

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

//use $ for the other library

Quando si scrivono plugin per evitare problemi con l'uso di noConflict, è possibile passare "jQuery" a una funzione:

function($) {

//use $ writing your plugin

}(jQuery)


7

È l'abbreviazione di jQuery. L'oggetto in cui risiedono tutte le funzionalità di jQuery.


5

$ È zucchero sintattico come menzionato da @Elzo. Nessuno ha effettivamente risposto alla tua domanda. $ È una scorciatoia in jQuery per window.jQuery, quindi non devi digitarlo ogni volta.


4

$ è solo un'altra variabile. Nel caso di jQuery questo fa riferimento alla funzione jQuery.




1

Guarda il file della libreria jQuery.

// Espone jQuery e $ identificatori.

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

Global $ punta a jQuery.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.