Как мне этого добиться?
$(".my_selected .element").myCustomFunction();
или, может быть, даже просто это?
$(".my_selected .element").???????(myCustomFunction());
Где функция узнает, что $(this) равно $(".my_selected .element").
$(this)
$(".my_selected .element")
Спасибо!
$.fn.myCustomFunction = function(){ // this or $(this) is $(".my_selected .element") }
Написать плагин: http://docs.jquery.com/Plugins/Authoring
Звучит так, будто вам нужна каждая функция, если вы не говорите о написании плагина jQuery. Если вы знаете, что все ваши предметы, возвращенные из селектора, поддерживают функцию, вы можете просто сделать что-то вроде.
$('li').each(function(index) { alert(index + ': ' + $(this).text()); });
Дополнительная информация об этом подходе jQuery http://api.jquery.com/each/
Используйте код ниже, см. Рабочую демонстрацию здесь
(function( $ ){ $.fn.myCustomFunction= function() { alert($(this).html()); }; })( jQuery ); $(".my_selected .element").myCustomFunction();
Это простой способ расширения jQuery
Вы расширяете функциональность jQuery, добавляя свою собственную функцию следующим образом:
jQuery.fn.myCustomFunction = function() { };
Ключевое слово this работает, как и предполагалось, внутри функции, если я правильно помню.
this