Sé que puede agregar nuevas funciones jQuery por $.fn.someFunction = function()
Sin embargo, quiero agregar funciones solo a elementos específicos. Probé esta sintaxis y no funciona $('.someElements').fn.someFunction = function()
Quiero hacer esto para poder llamar a la función de esta manera en algún lugar del código $('someElements').someFunction();
Para jQuery 1.7 y versiones posteriores, use .on() y .trigger()
$('button').on('someFunction',function() { alert('go away!') }); $('button').click(function(){ $(this).trigger('someFunction'); });
Antes de jQuery 1.7, usábamos el método .bind() para adjuntar controladores de eventos (en lugar de .on() ).
Puedes hacer lo anterior con esto:
$.fn.testFn = function(){ this.each(function(){ var className = $(this).attr('class'); $(this).html(className); }); }; $('li').testFn(); //or any element you want
Yo, necesitaba hacer lo mismo, se me ocurrió esto. es bueno porque destruyes el elemento y la función se vuelve ¡puf! Pienso...
var snippet=jQuery(".myElement"); snippet.data('destructor', function(){ //do something }); snippet.data('destructor')();