Ich weiß, dass die Syntax in JavaScript wie folgt lautet:
function myfunction(param){
//some code
}
Gibt es eine Möglichkeit, eine Funktion in jQuery zu deklarieren, die einem Element hinzugefügt werden kann? Beispielsweise:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
quelle
quelle
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
oder.addClass()
...Antworten:
Aus den Dokumenten :
Dann tust du es
quelle
$('my_div').myfunction();
wird angerufen<my_div></my_div>
. Sie benötigen dort das Hash-Zeichen, um auf die ID zu verweisenmy_div
.Trotz aller Antworten, die Sie bereits erhalten haben, ist es erwähnenswert, dass Sie kein Plugin schreiben müssen, um jQuery in einer Funktion zu verwenden. Wenn es sich um eine einfache, einmalige Funktion handelt, halte ich das Schreiben eines Plugins für übertrieben. Dies könnte viel einfacher geschehen, indem der Selektor einfach als Parameter an die Funktion übergeben wird . Ihr Code würde ungefähr so aussehen:
Beachten Sie, dass der
$
Name der Variablen$param
nicht erforderlich ist. Es ist nur eine Gewohnheit von mir, sich leicht daran zu erinnern, dass diese Variable einen jQuery-Selektor enthält. Sie könnten genausoparam
gut verwenden.quelle
Es gibt zwar eine Vielzahl von Dokumentationen / Tutorials, aber die einfache Antwort auf Ihre Frage lautet:
Innerhalb dieser Funktion
this
entspricht die Variable der von jQuery umschlossenen Menge, für die Sie Ihre Funktion aufgerufen haben. Also so etwas wie:... spült die Anzahl der Elemente mit der Klasse in die Konsole
foo
.Natürlich hat die Semantik ein bisschen mehr zu bieten (als auch Best Practices und all diesen Jazz). Lesen Sie sie also unbedingt durch.
quelle
Um eine Funktion für jQuery-Objekte verfügbar zu machen, fügen Sie sie dem jQuery-Prototyp hinzu (fn ist eine Verknüpfung für den Prototyp in jQuery).
Dies wird normalerweise als jQuery-Plugin bezeichnet .
Beispiel - http://jsfiddle.net/VwPrm/
quelle
Ja - was Sie beschreiben, ist ein jQuery-Plugin.
Um ein jQuery-Plugin zu schreiben, erstellen Sie eine Funktion in JavaScript und weisen sie einer Eigenschaft für das Objekt zu
jQuery.fn
.Z.B
Innerhalb Ihrer Plugin-Funktion wird das
this
Schlüsselwort auf das jQuery-Objekt gesetzt, für das Ihr Plugin aufgerufen wurde. Also, wenn Sie tun:Dann wird
this
insidemyfunction
auf das von zurückgegebene jQuery-Objekt gesetzt$('#my_div')
.Die vollständige Geschichte finden Sie unter http://docs.jquery.com/Plugins/Authoring .
quelle
quelle
Sie können auch expand verwenden (die Art, wie Sie jQuery-Plugins erstellen):
Verwendung:
quelle
Sie können Ihre eigenen jQuery-Plugins (Funktion, die für ausgewählte Elemente aufgerufen werden kann) wie folgt schreiben:
Nennen Sie es später wie:
quelle
Ja, Methoden, die Sie auf Elemente anwenden, die mit jquery ausgewählt wurden, werden als jquery-Plugins bezeichnet, und in den jquery-Dokumenten finden Sie zahlreiche Informationen zum Authoring .
Es lohnt sich, dass Jquery Bemerkens ist nur Javascript, so dass es nichts Besonderes an einem „jquery - Methode“ ist.
quelle
Erstellen Sie eine "Kolorierungs" -Methode:
Benutze es:
Dieses einfache Beispiel kombiniert das Beste aus dem Erstellen eines Basis-Plugins in den jQuery-Dokumenten und die Antworten von @Candide , @Michael .
this
kann verkettet sein . (Danke @Potheek.)quelle
Sie können dies immer tun:
quelle
Es hört sich so an, als ob Sie das jQuery-Objekt über seinen Prototyp erweitern möchten (auch bekannt als Schreiben eines jQuery-Plugins ). Dies würde bedeuten, dass jedes neue Objekt, das durch Aufrufen der jQuery-Funktion (
$(selector/DOM element)
) erstellt wurde, über diese Methode verfügt.Hier ist ein sehr einfaches Beispiel:
Demo
quelle
Das einfachste Beispiel für die Erstellung einer Funktion in jQuery ist
quelle