Ich bin ein Anfänger in JQuery.
Wann sollte der Punkt nach $ verwendet werden?
$.trim(str)
und nicht $trim(str)
?
Und einige Fälle ohne Punkt: $(document).ready
, aber nicht ?
Danke.
Ich bin ein Anfänger in JQuery.
Wann sollte der Punkt nach $ verwendet werden?
$.trim(str)
und nicht $trim(str)
?
Und einige Fälle ohne Punkt: $(document).ready
, aber nicht ?
Danke.
Ich glaube nicht, dass Sie eine Wahl haben, nur eine Syntax ist korrekt und wird tatsächlich funktionieren. Das $
Symbol ist nichts anderes als eine Kurzschreibweise für die jQuery
Funktion, so dass, wenn Sie schreiben:
$('some selector')
Sie eine Funktion aufrufen, die so genannte jQuery
und in einem String übergeben, oder in Ihrem Fall, du bist Übergabe im document
Objekt.
Wenn es darum geht, eine Methode wie eine Hilfsmethode wie trim aufzurufen, müssen Sie die folgende Syntax verwenden: jQuery.trim()
oder $.trim()
. Es ist einfach, sich selbst zu überprüfen, versuchen Sie einfach this out:
typeof($.trim) //returns "function"
typeof($trim) //returns "undefined"
... und das ['typeof'] (https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operatoren/Special_Operators/type_Operator) -Operator benötigt keine Klammern oder einen Punkt. ;-) –
Wenn Sie die statische Methode von jQuery zugreifen, die nicht in dem Prototyp von etwa einem DOM-Element ist. trim
ist eine statische Methode, die von der API bereitgestellt wird.
Es gibt keine $.fn.trim
und wir können nicht zuverlässig auf String.prototype.trim
verlassen, da die Methoden unterscheiden können.
In Bezug auf $trim
das ist nicht definiert. Die trim
ist eine Methode von $
, die jQuery ist. Sie können entweder $['trim']
oder $.trim
tun, und das sollte die einzige Möglichkeit sein, darauf zuzugreifen.
In jQuery ist $
ein Variablenname wie foo
oder bar
, der auf das globale jQuery-Objekt verweist. Wenn Sie auf eine Eigenschaft des jQuery-Objekts zugreifen möchten, verwenden Sie den Punkt. Dies sind im Grunde das gleiche:
$.property
jQuery.property
(Da $
eine Variable wie jede andere ist, ist es möglich, dass Sie es auf etwas setzen Sie Dies könnte passieren, wenn Sie die Prototype Bibliothek enthalten waren nach einschließlich der. jQuery-Bibliothek, die Sie mit $
auf einen Alias der document.getElementById
Funktion verlassen würde.)
Das jQuery-Objekt geschieht auch eine Funktion sein, können Sie das gleiche, die Funktion so aufrufen wie jede andere Funktion aufrufen würden:
$(arguments)
alert("arguments!")
Auf der anderen Seite, $trim
ist nur eine andere globale Variable, wie $
oder location
, die eine Funktion, die Sie selbst definiert sein könnte:
var $trim = function(arguments) {
return "foo";
};
$trim(str)
+1 die beste Antwort – CodyBugstein
Die $.foo
Syntax bedeutet, dass $
mit einem als Objekt behandelt wird Feld namens foo
, das ist normalerweise eine Funktion, die Sie anrufen. Das ist also nichts anderes als eine eigenständige Funktion namens foo
- sie hat nur das Präfix $.
, um sie von jeder anderen Funktion zu unterscheiden und sie der jQuery-Bibliothek zuzuordnen.
Wenn Sie $(something).foo
dann Sie something
auf die jQuery-Funktion sind vorbei, und das Ergebnis hängt davon ab, was Sie vorbei (könnte ein Wähler sein, ein bestehendes Objekt zu finden, oder es könnte ein Stück von HTML zu bauen ein neues Objekt, oder es könnte eine Funktion sein, die beim Laden der Seite registriert wird. In jedem Fall rufen Sie dann foo
für das resultierende zurückgegebene Objekt auf, das auf mehrere DOM-Objekte angewendet werden kann, wenn der von Ihnen übergebene Selektor beispielsweise eine Klasse identifiziert.
Die erste Syntax wird verwendet, wenn die jQuery-Funktion auf etwas anderem als DOM-Objekten (Teilen der HTML-Seite) ausgeführt wird. Zum Beispiel eine Zeichenfolge ($.trim
) oder ein Array ($.each
). Das sind keine Elemente der Seite, sondern reine Daten in JavaScript.
Die zweite Syntax wird verwendet, wenn Sie mit DOM-Elementen arbeiten - Sie verwenden $(something)
, um ein jQuery-Objekt zu erstellen, bei dem es sich um einen Wrapper um null oder mehr DOM-Elemente handelt. Dann rufen Sie Funktionen auf dem zurückgegebenen Wrapper auf, um die umbrochenen Objekte bequem zu bearbeiten.
Kurze Antwort: Das Dollarzeichen wird in der Regel sofort entweder durch Klammern oder durch einen Punkt und einen Methodennamen gefolgt. Natürlich sollten Sie unbedingt versuchen, die JavaScript-Sprache zu lernen, damit Sie verstehen, was alle Punkte und Klammern wirklich bedeuten :) – Martin