我已经通过bash创建了一个新的Foundation 5项目,使用Foundation new my-project。当我在Chrome中打开index.html文件时,Uncaught TypeError: a.c indeof不是一个函数错误,在控制台显示,源于jquery.min.js:4。

我按照基金会网站上的步骤创建了这个项目,但我似乎无法摆脱这个错误。Foundation和jQuery看起来在index.html文件中被正确地包含和链接,并且链接的app.js文件包括$(document).foundation();

有人知道是什么导致了这个错误吗?解决方案是什么呢?


当前回答

我也遇到过这个问题。我正在使用jquery.poptrox.min.js进行图像弹出和缩放,我收到了一个错误说:

" Uncaught TypeError: a. indexof is not a function "错误。

这是因为在3.3.1/jquery.min.js中不支持indexOf,所以一个简单的修复方法是将其更改为旧版本2.1.0/jquery.min.js。

这为我解决了问题。

其他回答

请添加下面的jQuery迁移插件

<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/jquery-migrate-1.4.1.min.js"></script>

我通过安装正确的Jquery版本来解决这个问题,我的项目需要使用npm

其中一个可能的原因是当你两次加载jQuery时,比如:

<script src='..../jquery.js'></script>
....
....
....
....
....
<script src='......./jquery.js'></script>

所以,检查你的源代码和删除重复的jQuery加载。

我也遇到过这个问题。我正在使用jquery.poptrox.min.js进行图像弹出和缩放,我收到了一个错误说:

" Uncaught TypeError: a. indexof is not a function "错误。

这是因为在3.3.1/jquery.min.js中不支持indexOf,所以一个简单的修复方法是将其更改为旧版本2.1.0/jquery.min.js。

这为我解决了问题。

此错误可能是由jQuery事件别名引起的,如.load(), .unload()或.error(),这些别名自jQuery 1.8以来都已弃用。在代码中查找这些别名,并用.on()方法替换它们。例如,替换以下已弃用的摘录:

$(window).load(function(){...});

与以下:

$(window).on('load', function(){ ...});