未捕获的TypeError:undefined不是函数

时间:2014-07-05 00:56:29

标签: javascript jquery

我有一个脚本可以提取json数据并将其转换为可读格式。

Uncaught TypeError: undefined is not a function

上返回错误:container.append($.nano(template, events[0]));

我试图在stackoverflow上找到答案,其中包括:

  • 确保首先加载jquery
  • 将文件中的功能包装好
  • 只包含一次jquery

我已完成上述所有操作,并已在此jsfiddle

中复制了该问题

http://jsfiddle.net/FXcX3/

2 个答案:

答案 0 :(得分:2)

你不正确地调用nano,它不是jQuery的方法。它应该是这样的(来自documentation):

container.append(nano(nogig));

http://jsfiddle.net/4pe3j/1/

答案 1 :(得分:1)

nano is on line 244 in the fiddle. I'm not sure where I'm not defining it.

在那一行,你有这个:

function nano(template, data) {
    return template.replace(/\{([\w\.]*)\}/g, function (str, key) {
        var keys = key.split("."),
            v = data[keys.shift()];
        for (var i = 0, l = keys.length; i < l; i++) v = v[keys[i]];
        return (typeof v !== "undefined" && v !== null) ? v : "";
    });
}

这是在全球范围内定义的,因此将$.nano更改为nano