【发布时间】:2014-02-18 08:39:36
【问题描述】:
我想创建一个简单的插件,它使用元素的文本作为默认值,或者你可以在调用插件时设置这个值。
但是如果我不设置值,并且为多个元素调用插件,默认值会成倍增加。
(function($) {
$.fn.reText = function(options) {
var settings = $.extend({
label : $(this).text()
}, options);
return this.each(function() {
$(this).text(settings.label);
});
};
})(jQuery);
呼叫:
$(function() {
$('div').reText();
});
结果:
<div>text 1</div>
<div>text 2</div>
我知道,问题是settings的作用域,但我不知道如何解决问题...
【问题讨论】:
标签: javascript jquery jquery-plugins scope