Salut, je suis en train de l'auteur d'un plugin jQuery et je dois avoir des méthodes accessibles à des éléments après leur initialisés comme ce genre d'objet, par exemple:Création de méthodes à la volée
$('.list').list({some options}); //This initializes .list as a list
//now I want it to have certain methods like:
$('.list').find('List item'); //does some logic that I need
J'ai essayé avec
$.fn.list = function (options) {
return this.each(function() {
// some code here
this.find = function(test) {
//function logic
}
}
}
et plusieurs autres tentatives, je ne peux pas comprendre comment le faire.
EDIT:
Je vais essayer d'expliquer mieux. J'essaye de transformer une table en une liste, fondamentalement comme une liste sur un ordinateur avec des en-têtes de colonne et des articles triables et tout entre deux. Vous initiez la table avec une commande comme
$(this).list({
data: [{id: 1, name:'My First List Item', date:'2010/06/26'}, {id:2, name:'Second', date:'2010/05/20'}]
});
.list
fera la <tbody>
triables et faire quelques autres tâches initiales, puis ajoutez les méthodes suivantes à l'élément:
.findItem(condition)
vous permettra de trouver un certain point par une condition (comme findItem('name == "Second"')
.list(condition)
listera tous les éléments qui correspondent à une condition
.sort(key)
triera tous les éléments d'une clé donnée
etc.
Quelle est la meilleure façon de faire cela?
Pouvez-vous donner un peu plus d'exemple? Il est difficile de dire ce que vous recherchez ... et ['.find()'] (http://api.jquery.com/find/) est déjà pris :) –
duplication possible de [Comment créer un jQuery plugin avec des méthodes?] (http://stackoverflow.com/questions/1117086/how-to-create-a-jquery-plugin-with-methods) – redsquare
le titre est trompeur, ce ne sont pas des méthodes créées à la volée. – Anurag