Javascript 没有方法问题jQuery插件

Javascript 没有方法问题jQuery插件,javascript,jquery,Javascript,Jquery,我正在写一个简单的模板插件,虽然我还没有开始 我不断得到以下错误: Uncaught TypeError: Object function (e,n){return new x.fn.init(e,n,t)} has no method 'tmpl' 当前的插件代码是: $.fn.tmpl = function(template, options) { var defaults = { file: '', callback: function(){}

我正在写一个简单的模板插件,虽然我还没有开始

我不断得到以下错误:

Uncaught TypeError: Object function (e,n){return new x.fn.init(e,n,t)} has no method 'tmpl' 
当前的插件代码是:

$.fn.tmpl = function(template, options)
{

    var defaults = {
        file: '',
        callback: function(){}
    }

    var options = $.extend(defaults, options);

    function parse()
    {



    }

};
这就是我调用函数的方式:

var template = $.tmpl('user-profile-feed-item');
我已经包括了jQuery 2.0.1,它在这个文件的参考上面,这个文件正在加载,但是它不想工作,我没有主意了

提前感谢。

您将
tmpl
附加到jQuery原型。只有实例化jQuery对象时,才能访问原型。换句话说,您需要调用jQuery

var template = $().tmpl('user-profile-feed-item');

编辑

下面是您使用的代码示例,可能有助于指出扩展jQuery原型的一些用途

$.fn.tmpl = function(template, options)
{
 var me = this;//this will refer to the current jQuery object, console.log(this) to see more
 var defaults = {
    file: '',
    callback: function(){}
 };

 var options = $.extend(defaults, options);

 defaults.parse = function()
 {
  alert(me.html());
 };

 return defaults;

};
var template = $("#d").tmpl('user-profile-feed-item');
template.parse();

您想创建jQuery函数而不是插件。可能是这样

$.tmpl = function(template, options)
{

    var defaults = {
        file: '',
        callback: function(){}
    }

    var options = $.extend(defaults, options);

    function parse()
    {



    }

};

即使这样,仍然没有定义。@AndréFigueira您调用的方式将没有定义,因为您需要从函数返回一些内容。默认情况下,它返回未定义的结果。@AndréFigueira-这是因为您的函数中没有返回任何内容。啊,我明白了,好吧,仍然无法调用该函数(解析),猜测这不是正确的方法。@AndréFigueira-这里,这可能会对您有所帮助: