Не могу понять как правильно создавать плагины. Нужно что-бы элемент мог перезаписывать данные и отдавать их. Делаю так :
var test_methods = {
init : function() {
return this.each(function() {
this.aaa = 444444;
this.bbb = 111111;
});
},
get : function(name) {
var val;
this.each(function() {
val = this[name];
});
return val;
},
set : function(name, value) {
return this.each(function() {
this[name] = value;
});
}
};
$.fn.test = function(method) {
if (test_methods[method]) {
return test_methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || ! method) {
return test_methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.test');
}
};
$('#test1').test();
console.log( $('#test1').test('set', 'bbb', 88888).test('get', 'bbb') );
Вроде всё и работает, только для каждого метода надо писать return this.each(function(){}). Как ещё можно их создавать?!