TypeError:$(...)DataTable不是函数

时间:2015-07-26 00:07:46

标签: javascript jquery datatables

我正在尝试使用jquery插件数据表,但我似乎无法加载该函数。我一直收到这个错误:

Uncaught TypeError: $(...).DataTable is not a function
(anonymous function) @ index.php:167
m.Callbacks.j @ jquery.min.js:2
m.Callbacks.k.fireWith @ jquery.min.js:2
m.extend.ready @ jquery.min.js:2
J @ jquery.min.js:2

以下是我的JS代码:

$(document).ready(function(){
        $('table#tableID').DataTable({
            paging: true
        });
    });

我正在使用jQuery V. 1.11.1 我试图寻找解决方案,并看到有人在谈论jQuery没有被加载。我成功地在同一页面上运行其他jQuery函数。这也是此页面上唯一的.ready函数。我们可以告诉jQuery存在,就像文档准备好时一样,它执行函数。我还尝试将js和css文件的导入放在多个位置,如建议的那样,但是没有用。有没有人知道如何解决这个问题?

编辑:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="/css/jquery.dataTables.css">
<script type="text/javascript" charset="utf8" src="/js/jquery.dataTables.js"></script>

2 个答案:

答案 0 :(得分:13)

当脚本依赖于库或其他脚本时,脚本顺序很重要。

任何与jQuery相关的代码都需要包含在jQuery.js之后...这意味着插件和你编写的任何使用jQuery的代码。同样,您编写的使用插件的任何代码都必须在代码

之前加载插件

只需切换顺序,以便jQuery.js在dataTables.js

之前加载
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" charset="utf8" src="/js/jquery.dataTables.js"></script>

另外请确保您只在页面中包含一次jQuery ...而不是每次插件都包含一次

答案 1 :(得分:1)

这是因为您在加载jQuery本身之前加载了jQuery库。在加载库之前需要加载jQuery,你可以通过在库之前包含jQuery的<script>来实现:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" charset="utf8" src="/js/jquery.dataTables.js"></script>