JS - $未定义&无法调用null的方法“plug”

时间:2014-03-03 17:14:31

标签: javascript jquery

我在html和css中创建了一个下拉菜单系统,但是当我检查元素>时,js为我的两个js文件显示以下错误: Chrome中的控制台:

  1. Uncaught ReferenceError: $ is not defined for filters.js
  2. Uncaught ReferenceError: $ is not defined for jquery.min.js
  3. 下拉菜单不会显示。

    我的html页面底部有标签,之前加载如下:

    <script type="text/javascript" src="../scripts/jquery.min.js"></script>
    <script type="text/javascript" src="../scripts/filters.js"></script>
    

    这是files.js的js

    $(function() {
      /**
       * the element
       */
      var $ui = $('#ui_element');
      /**
       * on focus and on click display the dropdown,
       * and change the arrow image
       */
      $ui.find('.sb_input').bind('focus click', function() {
        $ui.find('.sb_down').addClass('sb_up').removeClass('sb_down').andSelf().find('.sb_dropdown').show();
      });
      /**
       * on mouse leave hide the dropdown,
       * and change the arrow image
       */
      $ui.bind('mouseleave', function() {
        $ui.find('.sb_up').addClass('sb_down').removeClass('sb_up').andSelf().find('.sb_dropdown').hide();
      });
      /**
       * selecting all checkboxes
       */
      $ui.find('.sb_dropdown').find('label[for="all"]').prev().bind('click', function() {
        $(this).parent().siblings().find(':checkbox').attr('checked', this.checked).attr('disabled', this.checked);
      });
    });
    

    这是jquery.min.js的js

    var cbpHorizontalMenu=(function(){var b=$("#cbp-hrmenu > ul > li"),g=b.children("a"),c=$("body"),d=-1;function f(){g.on("click",a);b.on("click",function(h){h.stopPropagation()})}function a(j){if(d!==-1){b.eq(d).removeClass("cbp-hropen")}var i=$(j.currentTarget).parent("li"),h=i.index();if(d===h){i.removeClass("cbp-hropen");d=-1}else{i.addClass("cbp-hropen");d=h;c.off("click").on("click",e)}return false}function e(h){b.eq(d).removeClass("cbp-hropen");d=-1}return{init:f}})();
    

    有什么想法吗?

1 个答案:

答案 0 :(得分:2)

jquery.min.js应该是这样的:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

您正在使用不正确的jquery代码。 Jquery是定义$的原因,这就是为什么它不适用于你的javascript代码。

简单地替换

<script type="text/javascript" src="../scripts/jquery.min.js"></script>

使用

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

或指向JQuery代码版本的链接。