Je sais qu'en JavaScript, la syntaxe est la suivante:
function myfunction(param){
//some code
}
Existe-t-il un moyen de déclarer une fonction dans jQuery qui peut être ajoutée à un élément? Par exemple:
$('#my_div').myfunction()
javascript
jquery
function
multimediaxp
la source
la source
$('#myDatePickerfield').datePicker();
$("#someElement").hide()
ou.addClass()
...Réponses:
Depuis les documents :
Alors tu fais
la source
$('my_div').myfunction();
sera appelé<my_div></my_div>
. Vous avez besoin du signe de hachage pour faire référence à l'idmy_div
.Malgré toutes les réponses que vous avez déjà reçues, il convient de noter que vous n'avez pas besoin d'écrire un plugin pour utiliser jQuery dans une fonction. Certes, s'il s'agit d'une fonction simple et unique, je pense que l'écriture d'un plugin est exagérée. Cela pourrait être fait beaucoup plus facilement en passant simplement le sélecteur à la fonction en tant que paramètre . Votre code ressemblerait à ceci:
Notez que le
$
dans le nom de variable$param
n'est pas requis. C'est juste une de mes habitudes pour qu'il soit facile de se rappeler que cette variable contient un sélecteur jQuery. Vous pouvez également l'utiliserparam
.la source
Bien qu'il existe une pléthore de documentation / tutoriels, la réponse simple à votre question est la suivante:
À l'intérieur de cette fonction, la
this
variable correspond à l'ensemble encapsulé jQuery sur lequel vous avez appelé votre fonction. Donc quelque chose comme:... affichera sur la console le nombre d'éléments avec la classe
foo
.Bien sûr, il y a un peu plus dans la sémantique que cela (ainsi que les meilleures pratiques et tout ce jazz), alors assurez-vous de le lire.
la source
Pour rendre une fonction disponible sur les objets jQuery, vous l'ajoutez au prototype jQuery (fn est un raccourci pour le prototype dans jQuery) comme ceci:
Ceci est généralement appelé un plugin jQuery .
Exemple - http://jsfiddle.net/VwPrm/
la source
Yup - ce que vous décrivez est un plugin jQuery.
Pour écrire un plugin jQuery, vous créez une fonction en JavaScript et l'assignez à une propriété sur l'objet
jQuery.fn
.Par exemple
Dans votre fonction de plugin, le
this
mot clé est défini sur l'objet jQuery sur lequel votre plugin a été invoqué. Donc, quand vous le faites:Ensuite,
this
insidemyfunction
sera défini sur l'objet jQuery retourné par$('#my_div')
.Voir http://docs.jquery.com/Plugins/Authoring pour l'histoire complète.
la source
la source
Vous pouvez également utiliser extend (la façon dont vous créez des plugins jQuery):
Usage:
la source
Vous pouvez écrire vos propres plugins jQuery (fonction qui peut être appelée sur des éléments sélectionnés) comme ci-dessous:
Appelez-le plus tard comme:
la source
Oui, les méthodes que vous appliquez aux éléments sélectionnés à l'aide de jquery sont appelées plugins jquery et il existe une bonne quantité d'informations sur la création dans les documents jquery.
Il vaut la peine de noter que jquery est juste javascript, donc il n'y a rien de spécial à propos d'une "méthode jquery".
la source
Créez une méthode de "colorisation":
Utilise le:
Cet exemple simple combine le meilleur de Comment créer un plugin de base dans les documents jQuery et les réponses de @Candide , @Michael .
this
peut être chaînée . (Merci @Potheek.)la source
Vous pouvez toujours faire ceci:
la source
Il semble que vous souhaitiez étendre l'objet jQuery via son prototype (c'est-à-dire écrire un plugin jQuery ). Cela signifierait que chaque nouvel objet créé en appelant la fonction jQuery (
$(selector/DOM element)
) aurait cette méthode.Voici un exemple très simple:
Démo
la source
L'exemple le plus simple pour créer une fonction dans jQuery est
la source