为什么这段代码会抛出

未捕获引用错误:未定义$

以前什么时候还好?

$(document).ready(function() {
    $('#tabs > ul').tabs({ fx: { opacity: 'toggle' } });
    $('#featuredvid > ul').tabs();
});

选项卡中的结果不再关闭。

jQuery在头中被引用:

<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/sprinkle.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-1.2.6.min.js"></script>
<script language="JavaScript" type="text/javascript" src="<?php echo get_option('siteurl') ?>/js/jquery-ui-personalized-1.5.2.packed.js"></script>

当前回答

$(document).ready(function() {
                $.getJSON("<?php echo site_url('cadmin/survey/chart_survey_assisten'); ?>", function (json) { 
                    var acctregs = new Morris.Donut({
                                // ID of the element in which to draw the chart.
                                element: 'hadir-chart-bar-assisten',
                                // Chart data records -- each entry in this array corresponds to a point on
                                // the chart.
                                data: json,
                                xkey: 'label',
                                ykeys: ['value'],
                                labels: ['Nilai'],
                                barRatio: 0.4,
                                xLabelAngle: 35,
                                hideHover: 'auto',
                                resize: true
                            });
                });
           });

其他回答

这就是我解决这个问题的原因。最初我去了谷歌,复制并粘贴了他们建议的jQuery片段到他们的CDN页面上:

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

该片段在src属性中不包含HTTP:或HTTPS:,但我的浏览器FireFox需要它,所以我将其更改为:编辑:这也适用于我的谷歌Chrome

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

然后它奏效了。

我遇到了完全相同的问题,上面的这些解决方案都没有帮助。然而,我只是将.css文件链接到.js文件之后,问题奇迹般地消失了。希望这有帮助。

在我的案例中,安装Windows Server角色服务“静态内容”后,问题已经解决。(操作系统:Windows Server 2008 R2)

如何安装“静态内容”服务器角色服务:

(假设已安装“Web服务器”角色)>运行服务器管理器>单击左侧窗格中的“角色”>单击右侧窗格中的Web服务器区域中的“添加角色服务”>选择“Web服务器/通用HTTP功能”下的“静态内容”>单击“下一步”>。。。

根本问题是ReferenceError。MDN表示try/catch块是作业的正确工具。在我的例子中,我得到了一个付费sdk/库的未经修正的参考错误。以下内容对我有用。

try {
  var stripe = Stripe('pk_test_---------');
} catch (e) {
    stripe = null;
}

if(stripe){
  //we are good to go now
}

显然,修复方法是在调用其方法之前加载任何SDK/库,例如jQuery,但try/catch确实可以防止共享JavaScript弹出错误,以防您在页面上运行共享脚本,而该页面没有加载您在页面子集上使用的任何库。

以下是最坏的情况:

一切似乎都很完美。花了几个小时后,我意识到添加到正确位置的jquery文件实际上是一个包含空内容的文件!