您好我创建了一个jquery插件,它正在运行,但我希望我需要一个闭包来调用一个元素。
JsFiddle:http://jsfiddle.net/luiggi/uamL7/8/show - 全屏 JsFiddle:http://jsfiddle.net/luiggi/uamL7/8/ - 编辑视图
我这样称呼函数:
$('.mydiv').click(function(){
$('table').addStylesTable({OwnClass:'christian'});
});
这是我的职责:
$.fn.addStylesTable = function(options) {
var defaults = {
tablestyle: 'table',
tableHover: true,
table100: true,
table50: false,
table33: false,
NewClass: true,
OwnClass: 'reverse2'
};
var options = $.extend({
OwnClass: 'reverse'
}, defaults, options);
return this.each(function() {
if (options.tableHover == true) {
alert(options.OwnClass);
$('table').addClass(options.OwnClass);
};
});
};
如果将来某人需要为其他元素调用此函数,他们将需要复制此函数,或者写一些if,case,switch ....
我想这样称呼:
$('div').addStylesTable({OwnClass:'christian'}); // to modify the <div>
$('p').addStylesTable({OwnClass:'christian'}); // to modify the <p>
有人知道,我该怎么做?
谢谢,Christian
答案 0 :(得分:0)
我找到了解决方案,只需要更改此行:
$('table').addClass(options.OwnClass);
这个:
$(this).addClass(options.OwnClass);
现在我可以使用这样的功能:
$('div').addStylesTable({OwnClass: 'christian'});
或$('body').addStylesTable({OwnClass: 'christian'});
等......
非常感谢,Christian