为什么这段代码会抛出

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

以前什么时候还好?

$(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>

当前回答

好吧,我的问题不同了——这是Chrome中的文档安全模型。

看看这里的答案,很明显,在调用$(document).ready()等函数之前,我没有加载jquery文件。然而,他们都处于正确的位置。

在我的情况下,这是因为我通过安全的HTTPS连接访问内容,而页面试图从谷歌等下载CDN托管的数据。解决方案是将它们存储在本地,然后直接包含,而不是每次都从CDN。

编辑:这样做的另一种方式是以https://而不是http://的形式链接到所有CDN托管的内容,这样模型就不会抱怨了。

其他回答

在以下两种情况下也会发生错误。

@HTML文件中缺少section-scripts元素访问DOM元素时出错。例如,DOM元素的访问被称为$(“js toggle”)而不是$(“.js togge”)

因此,需要遵循三点:检查是否添加了所需的脚本,检查是否按所需的顺序添加了脚本,以及Java脚本中的第三个语法错误。

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

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

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

您尚未引用jQuery库。

您需要在HTML中包含一行类似的内容:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.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放在代码中所有javascript代码的顶部来解决这个问题。

类似于:

<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="js/app.js" type="text/javascript"></script>
<script src="js/form.js" type="text/javascript"></script>
<script src="js/create.js" type="text/javascript"></script>
<script src="js/tween.js" type="text/javascript"></script>

希望可以帮助未来的某个人。