繁体   English   中英

我在控制台日志中得到的“ $不是函数”错误消息是什么?

[英]What I am getting “ $ is not a function ” error message in console log ?

我正在尝试使用jQuery来实现平滑的滚动效果,但是在控制台中,它向我显示以下错误消息:

main.js:253未捕获的TypeError:$在main.js:253中不是函数

我正在使用的jQuery代码:

(function($) {

   $('#what, .down').click(function() {
      e.preventDefault();
      var target= $(this).get(0).id == 'what' ? $('.down') : $('#what');
          $('html, body').stop().animate({
          scrollTop: target.offset().top
      }, 1000);
  });   

})(jQuery);

我的代码有什么问题吗?

错误

$不是main.js的函数

假设您使用开发人员工具中的控制台/网络选项卡检查了jquery库是否正在加载而没有问题

解决方案1可能是由于在加载jquery之前先加载了外部javascript。 要解决此需求requirejs ,请点击以下链接获取用法http://requirejs.org/docs/api.html

解决方案2更新您使用的Jquery版本,可能是您使用的旧版本

解决方案3

在JS文件中像这样使用它。

jQuery(document).ready(function($){

// jQuery code is in here

});

这样声明后,您将可以访问$

错误

$不是main.js的函数

表示您的jQuery未正确包含在文档中。 确保:

  • jQuery在头文件中添加为其他任何自定义脚本之前的第一个文件

例:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
  • 确保您已在头中包含Javascript库文件。
  • 确保在其他任何JS文件之前加载Javascript库文件(在您的情况下为Main.js

由于您尚未添加jQuery库文件,因此将出现此错误。 您也可以使用CDN(Content Delivery Network)来调用库文件,或者可以在main.js之前下载库文件并调用jquery库

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM