Was bedeutet das Symbol $ in jQuery?

123

Wofür steht das $Zeichen in jQuery?

user366312
quelle
Sie könnten den Titel ein bisschen
aussagekräftiger
20
Es ist eine gute Frage für jquery noobs wie mich. Ich habe einige JQuery-Seiten zusammengeschustert, indem ich sie aus dem Internet ausgeschnitten und eingefügt habe, und es war die erste Frage, die ich hatte, was ich tat.
Mark Harrison

Antworten:

138

Das jQuery-Objekt :)

Aus der jQuery-Dokumentation:

Standardmäßig verwendet jQuery "$" als Verknüpfung für "jQuery".

Also mit $("#id") oder jQuery("#id")ist das gleiche.

Andrea
quelle
Hallo, @Andrea, ich weiß nicht, ob ich die richtige Frage stelle oder nicht, ich bin neu bei jQuery. Können wir dieses $ durch ein anderes Symbol ersetzen? und wenn möglich, wie?
Hulk
@Hulk können Sie verwenden noConflit(), um es zu ersetzen.
Super cool
44

Seltsam, aber wahr, Sie können "$" als Funktionsnamen in JavaScript verwenden. Es ist eine Abkürzung für jQuery (). Welche können Sie verwenden, wenn Sie wollen. jQuery kann im Kompatibilitätsmodus ausgeführt werden, wenn eine andere Bibliothek das $ bereits verwendet. Verwenden Sie einfach jQuery.noConflict (). $ wird in JS ziemlich häufig als Auswahlfunktion verwendet.

In jQuery kann die $ -Funktion jedoch viel mehr als nur Dinge auswählen.

  1. Sie können ihm einen Selektor übergeben, um eine Sammlung übereinstimmender Elemente aus dem DOM abzurufen.
  2. Sie können ihm eine Funktion übergeben, die ausgeführt wird, wenn das Dokument fertig ist (ähnlich wie body.onload (), jedoch besser).
  3. Sie können ihm eine HTML-Zeichenfolge übergeben, um sie in ein DOM-Element umzuwandeln, das Sie dann in das Dokument einfügen können.
  4. Sie können ihm ein DOM-Element oder Elemente übergeben, die Sie mit dem jQuery-Objekt umschließen möchten.

Hier ist die Dokumentation: https://api.jquery.com/jQuery/

Lance Fisher
quelle
7
Weißt du, das sollte WIRKLICH die richtige Antwort auf diese Frage sein ... Ich kann nicht glauben, dass all diese witzigen Antworten alle Stimmen bekommen haben.
Reedvoid
1
Stimmen Sie den Kommentaren von reedvoid zu. Es ist eine Reflexion über den Stand der Dinge in der Javascript-Programmierung. Der genauere Link, der jetzt die Frage beantwortet, ist api.jquery.com/jQuery
Sunny
Wenn $ eine Funktion ist, wie rufen wir dann die Methode noConflict () auf? Das wäre möglich gewesen, wenn $ ein Objekt wäre, keine Funktion.
Außenseiter
1
@ dk49 In JavaScript können Funktionen auch Eigenschaften haben. Versuchen Sie Folgendes: function Person () {}; Person.city = 'Missoula'; console.log (Person.city)
Lance Fisher
Für weitere Beweise versuchen Sie, typeof $welche "Funktion" ausgeben wird. ;)
Lance Fisher
34

Es ist syntaktischer Zucker . Es ist nicht nur für jQuery spezifisch. andere Bibliotheken verwenden es ebenfalls. Sie können über die Verwendung von Dollarzeichen in JavaScript für ein Voll Details Artikel suchen hier .

Elzo Valugi
quelle
5
Nun, ich mochte den Begriff syntaktischer Zucker . Danke dafür :)
Ravi Dhoriya
4
Wie ist das eine Antwort? Daraus habe ich gelernt, dass das '$' - Zeichen in jQuery für "syntaktischer Zucker" steht. Und der verlinkte Artikel spricht ausführlich über das Wie und Warum, ohne es kurz zu beantworten. Die nächste Antwort von @andrea erledigt den Job in drei Worten.
Lorenzog
Ich denke, das OP wollte wissen, warum dieses $ -Symbol ausgewählt wurde, um die Bibliothek darzustellen, und nicht, was wirklich bedeutet, was irgendwie offensichtlich und dokumentiert ist
Elzo Valugi
Dieser Link funktioniert nicht mehr, der, den Sie gesagt haben, erklärt im Detail $
user734028
@ user734028 Ich habe den Link in einen zwischengespeicherten geändert, bitte überprüfen Sie jetzt
Elzo Valugi
30

Wie in anderen Antworten erwähnt, ist $ eine Verknüpfung zur jQuery-Funktion.

Einige JavaScript-Bibliotheken verwenden ebenfalls $ (Beispiel: Prototyp). Um Konflikte mit diesen anderen Bibliotheken zu vermeiden, bietet jQuery die Funktion jQuery.noConflict (). Wenn Sie diese Funktion aufrufen, geht die Steuerung der Variablen $ auf die andere Bibliothek zurück, die sie zuerst implementiert hat. Wenn Sie dies tun, um jQuery zu verwenden, können Sie dieses $ ('div.someClass') nicht mehr ausführen, sondern jQuery ('div.someClass').

Alternativ können Sie dies tun:

jQuery.noConflict();

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

//use $ for the other library

Wenn Sie Plugins schreiben, um Probleme bei der Verwendung von noConflict zu vermeiden, können Sie 'jQuery' an eine Funktion übergeben:

function($) {

//use $ writing your plugin

}(jQuery)
Daniel Moura
quelle
9

$ ist einfach eine Funktion namens jQuery. Auf diese Weise greifen Sie auf alle Funktionen in der jQuery-Bibliothek zu.

Sie finden es hier: http://docs.jquery.com/%24

googletorp
quelle
7

Es ist die Abkürzung für jQuery. Das Objekt, in dem alle jQuery-Funktionen ausgeführt werden.

Brian
quelle
5

Das $ ist syntaktischer Zucker wie @Elzo erwähnt. Niemand hat Ihre Frage tatsächlich beantwortet. Das $ ist in jQuery eine Abkürzung für window.jQuery, sodass Sie es nicht jedes Mal eingeben müssen.

tommydevs
quelle
4

$ ist nur eine weitere Variable. Im Fall von jQuery verweist dies auf die Funktion jQuery.

James Z.
quelle
4

Ein $ -Zeichen zum Definieren / Zugreifen auf jQuery

Ved Prakash
quelle
1

Schauen Sie sich die jQuery-Bibliotheksdatei an.

// JQuery- und $ -Kennungen verfügbar machen.

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

Globale $ Punkte auf jQuery.

Sangkun Park
quelle