Qual é o significado do símbolo $ no jQuery?

123

O que significa o $sinal no jQuery?

user366312
fonte
você poderia fazer o título um pouquinho mais descritivo, em vez de apenas olhar como um par de tags de categoria
Michael Paulukonis
20
é uma ótima pergunta para jquery noobs como eu. Eu juntei algumas páginas jquery cortando e colando na internet, e foi a primeira pergunta que eu tive sobre o que estava fazendo.
Mark Harrison

Respostas:

138

O objeto jQuery :)

Na documentação do jQuery:

Por padrão, o jQuery usa "$" como um atalho para "jQuery"

Então, usando $("#id") ou jQuery("#id")é o mesmo.

Andrea
fonte
Oi, @Andrea, eu não sei se estou fazendo a pergunta correta ou não, sou novo no jQuery. Podemos substituir esse $ por qualquer outro símbolo? e se possível, como?
Hulk
@ Hulk você pode usar noConflit()para substituí-lo.
super cool
44

Estranho, mas verdadeiro, você pode usar "$" como um nome de função em JavaScript. É uma abreviação para jQuery (). Que você pode usar se quiser. O jQuery pode ser executado no modo de compatibilidade se outra biblioteca já estiver usando o $. Basta usar jQuery.noConflict (). $ é comumente usado como uma função seletora em JS.

No jQuery, a função $ faz muito mais do que selecionar algumas coisas.

  1. Você pode passar um seletor para obter uma coleção de elementos correspondentes do DOM.
  2. Você pode passar uma função para executar quando o documento estiver pronto (semelhante a body.onload (), mas melhor).
  3. Você pode passar uma string de HTML para se transformar em um elemento DOM que você pode injetar no documento.
  4. Você pode transmitir um elemento DOM ou elementos que deseja agrupar com o objeto jQuery.

Aqui está a documentação: https://api.jquery.com/jQuery/

Lance Fisher
fonte
7
Sabe, essa REALMENTE deve ser a resposta certa para essa pergunta ... Não acredito que todas essas respostas engraçadas receberam todos os votos positivos.
Reedvoid
1
Concorde com os comentários de reedvoid. É uma reflexão sobre o estado das coisas na programação Javascript. Dito isto, o link mais preciso agora que responde à pergunta é api.jquery.com/jQuery
Sunny
Se $ é uma função, como estamos chamando o método noConflict ()? Isso seria possível se $ fosse um objeto, não uma função.
maverick
1
@ dk49 No JavaScript, as funções também podem ter propriedades. Tente isto: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher
Para obter mais evidências, tente typeof $qual será a "Função". ;)
Lance Fisher
34

É açúcar sintático . Não é específico apenas para jQuery; outras bibliotecas também o usam. Você pode procurar um artigo completo sobre o uso do cifrão no JavaScript aqui .

Elzo Valugi
fonte
5
Gostei do termo açúcar sintático . Obrigado por isso :)
Ravi Dhoriyaツ
4
Como isso é uma resposta? Com isso, aprendi que o sinal '$' no jQuery significa "açúcar sintático". E o artigo vinculado fala longamente sobre os comos e o porquê, sem responder de forma concisa. A próxima resposta de @andrea faz o trabalho em três palavras.
Lorenzog 6/11/15
Eu acho que o OP queria saber por que é que o símbolo $ escolhido para representar a biblioteca, não sobre o que realmente significa, o que é meio óbvio e documentado
Elzo Valugi
esse link não funciona mais, o que você disse explica em detalhes $ #
user734028
@ user734028 eu mudei o link para um cache, verifique agora
Elzo Valugi
30

Como dito em outras respostas, $ é um atalho para a função jQuery.

Algumas bibliotecas JavaScript usam $ too (exemplo: prototype). Para evitar conflitos com essas outras bibliotecas, o jQuery fornece a função jQuery.noConflict (). Chamando essa função, o controle da variável $ volta para a outra biblioteca que a implementou primeiro. Fazendo isso para usar o jQuery, você não pode mais fazer isso $ ('div.someClass'); em vez disso, jQuery ('div.someClass').

Como alternativa, você pode fazer isso:

jQuery.noConflict();

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

//use $ for the other library

Ao escrever plugins para evitar problemas com o uso de noConflict, você pode passar 'jQuery' para uma função:

function($) {

//use $ writing your plugin

}(jQuery)
Daniel Moura
fonte
9

$ é simplesmente uma função chamada jQuery. É assim que você acessa todas as funcionalidades na jQuery lib.

Você pode encontrá-lo aqui: http://docs.jquery.com/%24

googletorp
fonte
7

É curto para jQuery. O objeto em que vivem todas as funcionalidades do jQuery.

Brian
fonte
5

O $ é açúcar sintático como o @Elzo mencionado. Porém, ninguém respondeu à sua pergunta. O $ é uma abreviação no jQuery window.jQuery, para que você não precise digitá-lo todas as vezes.

tommydevs
fonte
4

$ é apenas outra variável. No caso do jQuery, isso faz referência à função jQuery.

James Z.
fonte
4

Um sinal de $ para definir / acessar o jQuery

Ved Prakash
fonte
1

Veja o arquivo da biblioteca jQuery.

// Exponha os identificadores jQuery e $.

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

Global $ aponta para jQuery.

Sangkun Park
fonte