我知道这个问题被问了很多次,并且这里有很多答案,但我的问题并没有通过提供的任何答案得到解决。问题是我正在为我的一个表使用数据表,并且我已经以与数据表文档中完全相同的格式加载了 jquery,但仍然收到此错误。
jquery.min.js:2 未捕获的类型错误:$(...).DataTable 不是函数
我已经按照以下格式包含了我的 jQuery 库
在标题中我已包含:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
在页脚中我已包含:
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-
select/1.12.1/js/bootstrap-select.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script type="text/javascript"
src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js">
</script>
<script src="assets/js/custombox.min.js"></script>
<script src="assets/js/custom.js">
</script>
但我仍然收到此错误,并且认真地尝试了很多更改 jQuery 库的位置,但它不起作用,任何帮助将不胜感激。先谢谢你了
也许使用了错误的函数名称,看到它是
dataTable()
而不是DataTable()
,加上如果你把它写在准备好的文档中,那就太好了
$(document).ready(function() {
$('#example').dataTable();
});
导致此错误的原因可能有多种。
缺少 jQuery DataTables 库。
jQuery 库在 jQuery DataTables 之后加载。
加载了多个版本的 jQuery 库。
在 jQuery DataTables 之前仅包含一个版本的 jQuery 库版本。
例如
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
我知道这已经晚了,但我遇到了同样的问题,我确保库以正确的顺序加载,我尝试了延迟脚本,并且我尝试了
$(document).ready()
。
最终解决的方法是将
$(document).ready()
更改为 window.onload = function(){ };
任何调用
DataTable
的内容都应该放入该 onload
块中。