Я пытаюсь создать плагин jQuery, следуя некоторым официальным рекомендациям
(function($){
var methods = {
init : function( options ) {
this.options = options;
}
, add_that: function (elem) {
this.append(elem);
return (this);
}
, add_this: function (elem) {
return (methods.add_that(elem));
}
};
$.fn.test = function (method) {
if ( methods[method] ) {
return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
} else if ( typeof method === 'object' || ! method ) {
return methods.init.apply( this, arguments );
} else {
$.error( 'Method ' + method + ' does not exist on jQuery.test' );
}
};
})(jQuery);
Мне бы хотелось, чтобы метод add_that
мог добавлять объекты в соответствующие элементы.
Теперь этот метод вызывается из add_this
.
$('#test').test('add_this', $('<div />'));
TypeError: this.append не является функцией
Почему я не могу получить доступ к плагину (this
) с add_that
?