在jquery插件中使用$(this)

时间:2014-03-29 05:31:46

标签: javascript php jquery html this

以下是我的插件代码。

$.fn.myplugin = function(options) {

    var defaults = {
        my_data_title11:"",
        my_div:".getslow",
    }

    var settings = $.extend({}, defaults, options);

    return this.each(function(){
        console.log(options.my_data_title); 
    });
}

我从这样的外部页面调用这个插件......

$('#o_vari,#0_var2').myplugin({
    my_data_title11:$(this).attr("id"),my_div:'.getfast'
});

但它正在显示undefined。我知道my_data_title11:$(this).attr("id")没有识别$(this)调用语句,我甚至尝试过这个外部变量,但仍然是同样的问题。

1 个答案:

答案 0 :(得分:1)

从您编写代码的方式来看,我假设您要打印o_vari0_var2 ...但事实并非如此,因为在您拥有的环境中已使用$(this).att('id')this未引用o_varx元素。

因此,如果您想要所需的输出,请尝试

$('#o_vari,#0_var2').each(function () {
    $(this).myplugin({
        my_data_title: this.id,
        my_div: '.getfast'
    });
})

演示:Fiddle