【问题标题】:Uncaught TypeError: $ is not a function [duplicate]未捕获的类型错误:$ 不是函数 [重复]
【发布时间】:2015-08-18 07:08:07
【问题描述】:

我无法解决控制台出现此错误的问题:Uncaught TypeError: $ is not a function。这是它指向的代码:

<script type="text/javascript">
$(document).ready(function() {
    $(".linky").click(function(){
        var t = $(this); //<-ERROR POINTS HERE
        var y = $("#0"+t.attr("id")).offset().top;
        $('html,body').animate({scrollTop: y},500);
    });
});
</script>

任何帮助将不胜感激!

【问题讨论】:

  • 您是否包含 jQuery 库?如果答案是肯定的,它是否正确加载(检查控制台)?这段代码是放在 jQuery 加载行之后吗?
  • 每当您收到此错误时,只需检查您是否包含了 jquery 库。其次,这可能是由于同一页面上有多个 jquery 库的冲突..
  • 确保您没有包含 JQUERY 文件
  • 如果您包含 JQuery 库,那么您可能希望发布更多代码,例如 HTML 等。
  • 来自(重新)源的 jQuery 脚本是否可用?打开控制台,有没有加载资源错误?像 404 或 ...

标签: javascript jquery


【解决方案1】:

也许jQuery.noConflict(); 正在您网站的某个地方使用。试试这个:

<script type="text/javascript">
(function( $ ) {
  $(document).ready(function() {
    $(".linky").click(function(){
      var t = $(this); //<-ERROR POINTS HERE
      var y = $("#0"+t.attr("id")).offset().top;
      $('html,body').animate({scrollTop: y},500);
    });
  });
})(jQuery);
</script>

【讨论】:

    【解决方案2】:

    您需要包含 jquery 脚本

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    

    【讨论】:

    • 已经收录了
    • 尝试添加这个,
    • 检查网络选项卡以确保 jquery 正在实际加载,您应该会看到为 jquery 检索到的文件。
    • 非常感谢!我添加了脚本并且它起作用了:)
    猜你喜欢
    • 2015-11-20
    • 2020-10-28
    • 2016-09-13
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2022-11-19
    相关资源
    最近更新 更多