如何在自定义jQuery插件的设置中更改“this”的范围

时间:2012-05-28 11:54:37

标签: jquery jquery-plugins scope

有了很多jQuery函数,我可以编写一些像这样的代码:

$('.element').css({
    'width':    $(this).width() * 2
});

通过使用$(this),我可以找到.element的宽度。

如何使我自己的发明插件以同样的方式工作?

$('.element').myPlugin({
    'setting':    $(this).width() * 2
});

仅出于演示目的,这可能是我的插件代码:

$.fn.myPlugin = function(settings){

    // Settings
    var defaults = {
        'setting':    'value'
    };

    var o = $.extend(defaults, settings);

    // For every instance
    return this.each(function(){

        // Do something

    });

};

希望这是有道理的,如果有人能为这个问题提出更好的标题,请随意!当你不知道使用什么术语时,很难搜索出来的东西!

1 个答案:

答案 0 :(得分:0)

你能证明这一点:

$('.element').css({
    'width':    $(this).width() * 2
});

按照你的描述工作???如果有的话,我会很困惑。