【问题标题】:Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function未捕获的类型错误:对象 [object DOMWindow] 的属性“$”不是函数
【发布时间】:2011-08-09 07:24:10
【问题描述】:

我收到:Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function 我的脚本在 Chrome 中出现错误。

<script type="text/javascript"> 
    function showSlidingDiv() {
        $("#slidingDiv").fadeToggle("slow", "linear");
    }
    function showSlidingDiv2() {
        $("#slidingDiv2").fadeToggle("slow", "linear");
    }         
    function showSlidingDiv3() {
        $("#slidingDiv3").fadeToggle("slow", "linear");
    }
</script> 

有人知道这里出了什么问题吗?

【问题讨论】:

  • 有没有调用这些函数的javascript?是否包含 jquery 库?

标签: javascript jquery


【解决方案1】:

Chrome 确实会加载其他库,这些库在其他用途​​上使用 $ 符号, 所以你必须使用jquery没有冲突。方法是用 jQuery 更改 $ 符号

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

改成

jQuery(function(){...});

【讨论】:

    【解决方案2】:

    我的猜测是 jquery 在运行这些方法之一之前没有加载,所以或者在运行这些方法之前它没有被包含在内,或者有一些错误导致它无法正确加载。 通常这应该“正常工作”(至少不会抛出那种错误消息)

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    <script type="text/javascript"> 
        function showSlidingDiv() {
            $("#slidingDiv").fadeToggle("slow", "linear");
        }
        function showSlidingDiv2() {
            $("#slidingDiv2").fadeToggle("slow", "linear");
        }         
        function showSlidingDiv3() {
            $("#slidingDiv3").fadeToggle("slow", "linear");
        }
    </script> 
    

    【讨论】:

    • 我使用的是旧的 jquery 库——它现在可以工作了!谢谢
    【解决方案3】:

    没有时间。我找到了一个适合我的解决方案。

    代替

    $("#slidingDiv")
    

    试试

    jQuery("#slidingDiv")
    

    其他选项对我没有用。

    【讨论】:

      【解决方案4】:
      <script type="text/javascript"> 
      var j = jQuery;
      function showSlidingDiv() {
          j("#slidingDiv").fadeToggle("slow", "linear");
      }
      function showSlidingDiv2() {
          j("#slidingDiv2").fadeToggle("slow", "linear");
      }         
      function showSlidingDiv3() {
          j("#slidingDiv3").fadeToggle("slow", "linear");
      }
      </script> 
      

      【讨论】:

        【解决方案5】:

        确保没有调用 jQuery.noConflict()。调用它不允许使用 $ 速记符号。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-05
          • 2015-01-14
          • 1970-01-01
          • 2013-04-03
          • 1970-01-01
          • 2014-06-20
          相关资源
          最近更新 更多