下面是我想要做什么的一个非常简化的版本。
我正在尝试设置一个像下面这样的自定义选项,但是如何在 wring 上下文中使用 $(this) 作为它。我如何编写它以便主对象在函数中使用而不是 this,现在我得到一个 fnode 错误。
beforeDOTHIS: function () {
$(this).css({color:'blue'});
alert($(this).text());
}
HTML
<div>
<div id="One">test1</div>
<br />
<br />
<br />
<div id="Two">test2</div>
<br />
<br />
<br />
<div id="Three">test3</div>
</div>
javascript
/* To be moved to own custom js plugin file ------------------------------------------- */
//custom plugin
$.fn.addMySpan = function (customOptions) {
var defaults = {
textColor: "#033",
beforeDOTHIS: function () {}
};
var settings = $.extend({}, defaults, customOptions);
return this.each(function () {
settings.beforeDOTHIS();
});
};
/* -----------------------------------------------------------------------------------------------------*/
$(document).ready(function () {
$('#One,#Two,#Three').addMySpan({
textColor: "red",
beforeDOTHIS: function () {
$(this).css({color:'blue'});
alert($(this).text());
}
});
});