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-这里,这可能会对您有所帮助: