Я создаю плагин для jQuery. Я не буду пытаться объяснить этот плагин здесь, так что для простоты скажем, что мой плагин открывает предупреждение, когда вы нажимаете на целевой элемент. Вот простая версия моего плагина.
(function($) {
// Options
var defaults = {
message: 'Default message'
};
var options = $.extend(defaults, options);
$.fn.jAlert = function(options) {
return this.each(function(){
var $this = $(this);
$this.click(function(){
alert(options.message);
});
});
};
})(jQuery);
Я могу зайти так далеко. Он отлично работает. Однако, если я называю плагин так:
$('h1.simon').plugin({ message: 'Hello ' + $(this).attr('class') });
сообщение возвращается как «Hello неопределенными», я бы предпочел, чтобы быть «Hello симон» (класс тега H1).
Я уверен, что это самое простое дело, но я даже не уверен, что должен быть Google, чтобы найти решение.
Любая помощь была бы принята с благодарностью!
Приветствия,
Will
Update:
После игры о немного, это похоже на работу ... И я понятия не имею, почему! Я не думаю, что я действительно понимаю сферу действия. Думаю, я пойду немного почитать.
$('h1.simon').click(function(){
$(this).jAlert({
icon: 'Hello ' + $(this).attr('class')
});
});
$ (это) относится к тому, что вмещающая сфера является, а не объект, который вы имеете в виду. –