Jakie jest znaczenie symbolu $ w jQuery?

123

Co oznacza $znak w jQuery?

user366312
źródło
możesz uczynić tytuł nieco bardziej opisowym, zamiast wyglądać jak kilka tagów kategorii
Michael Paulukonis
20
to dobre pytanie dla noobów z jQuery, takich jak ja. Zebrałem kilka stron jQuery, wycinając i wklejając z Internetu i było to pierwsze pytanie, jakie miałem, dotyczące tego, co robię.
Mark Harrison

Odpowiedzi:

138

Obiekt jQuery :)

Z dokumentacji jQuery:

Domyślnie jQuery używa „$” jako skrótu do „jQuery”

Tak więc, używając $("#id") lub jQuery("#id")jest to samo.

Andrea
źródło
Cześć @ Andrea, nie wiem, czy zadaję poprawne pytanie, czy nie, jestem nowy w jQuery. Czy możemy zastąpić ten $ innym symbolem? a jeśli to możliwe, jak?
Hulk
@Hulk, którego możesz użyć, noConflit()aby go zastąpić.
super fajny
44

Dziwne, ale prawdziwe, możesz użyć „$” jako nazwy funkcji w JavaScript. Jest to skrót dla jQuery (). Które możesz użyć, jeśli chcesz. jQuery można uruchomić w trybie zgodności, jeśli inna biblioteka używa już $. Po prostu użyj jQuery.noConflict (). $ jest dość powszechnie używane jako funkcja selektora w JS.

W jQuery funkcja $ robi jednak znacznie więcej niż tylko wybieranie rzeczy.

  1. Możesz przekazać mu selektor, aby pobrać kolekcję pasujących elementów z DOM.
  2. Możesz przekazać mu funkcję do uruchomienia, gdy dokument jest gotowy (podobnie do body.onload (), ale lepiej).
  3. Możesz przekazać mu ciąg kodu HTML, aby przekształcić go w element DOM, który możesz następnie wstrzyknąć do dokumentu.
  4. Możesz przekazać mu element DOM lub elementy, które chcesz opakować za pomocą obiektu jQuery.

Oto dokumentacja: https://api.jquery.com/jQuery/

Lance Fisher
źródło
7
Wiesz, to NAPRAWDĘ powinno być właściwą odpowiedzią na to pytanie ... Nie mogę uwierzyć, że wszystkie te żartobliwe odpowiedzi dostały wszystkie pozytywne głosy.
anulowano
1
Zgadzam się z komentarzami reedvoid. To refleksja nad stanem rzeczy w programowaniu w Javascript. To powiedziawszy, bardziej precyzyjny link, który teraz odpowiada na pytanie, to api.jquery.com/jQuery
Sunny
Jeśli $ jest funkcją, to jak wywołujemy na niej metodę noConflict ()? Byłoby to możliwe, gdyby $ był obiektem, a nie funkcją.
Maverick
1
@ dk49 W JavaScript funkcje również mogą mieć właściwości. Spróbuj tego: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher
Aby uzyskać więcej dowodów, wypróbuj, typeof $który wypuści „Funkcja”. ;)
Lance Fisher
34

To cukier syntaktyczny . Nie jest specyficzne tylko dla jQuery; inne biblioteki również go używają. Możesz poszukać pełnego artykułu o używaniu znaku dolara w JavaScript tutaj .

Elzo Valugi
źródło
5
Cóż, podobało mi się określenie cukier syntaktyczny . Dziękuję za to :)
Ravi Dhoriya ツ
4
Jak to jest odpowiedź? Z tego dowiedziałem się, że znak „$” w jQuery oznacza „cukier syntaktyczny”. A artykuł, do którego prowadzi łącze, zawiera obszerne omówienie zasad „jak” i „dlaczego”, nie odpowiadając na nie zwięźle. Następna odpowiedź od @andrea spełnia swoje zadanie w trzech słowach.
lorenzog
Myślę, że OP chciał wiedzieć, dlaczego ten symbol $ został wybrany do reprezentowania biblioteki, a nie tego, co naprawdę oznacza, co jest
dość
ten link już nie działa, ten, który powiedziałeś, wyjaśnia szczegółowo $
user734028
@ user734028 Zmieniłem link na buforowany, sprawdź teraz
Elzo Valugi
30

Jak powiedziano w innych odpowiedziach, $ jest skrótem do funkcji jQuery.

Niektóre biblioteki JavaScript również używają $ (przykład: prototyp). Aby uniknąć konfliktu z tymi innymi bibliotekami, jQuery udostępnia funkcję jQuery.noConflict (). Wywołanie tej funkcji powoduje, że sterowanie zmienną $ wraca do innej biblioteki, która jako pierwsza ją zaimplementowała. Robiąc to, aby użyć jQuery, nie możesz już robić tego $ ('div.someClass'), zamiast tego jQuery ('div.someClass').

Alternatywnie możesz to zrobić:

jQuery.noConflict();

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

//use $ for the other library

Pisząc wtyczki, aby uniknąć problemów z używaniem noConflict, możesz przekazać 'jQuery' do funkcji:

function($) {

//use $ writing your plugin

}(jQuery)
Daniel Moura
źródło
9

$ to po prostu funkcja o nazwie jQuery. W ten sposób uzyskujesz dostęp do wszystkich funkcji biblioteki jQuery.

Możesz go znaleźć tutaj: http://docs.jquery.com/%24

googletorp
źródło
7

To skrót od jQuery. Obiekt, w którym znajdują się wszystkie funkcje jQuery.

Brian
źródło
5

$ To cukier syntaktyczny, jak wspomniano @Elzo. Jednak nikt tak naprawdę nie odpowiedział na twoje pytanie. $ Jest skrótem w jQuery dla window.jQuery, więc nie musisz wpisywać go za każdym razem.

tommydevs
źródło
4

$ to kolejna zmienna. W przypadku jQuery odwołuje się to do funkcji jQuery.

James Z.
źródło
4

Znak $, aby zdefiniować / uzyskać dostęp do jQuery

Ved Prakash
źródło
1

Spójrz na plik biblioteki jQuery.

// Ujawnij identyfikatory jQuery i $.

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

Global $ wskazuje na jQuery.

Park Sangkun
źródło