jquery - 未捕获的 ReferenceError : $ is not defined when jquery. js 在文档末尾

标签 jquery html dom

我有一个项目,其中所有 JS 文件都在页脚中引用,这是为了提高页面加载速度而推荐的,包括指向 Jquery 文件的链接。此代码会产生“ Uncaught ReferenceError ”,我假设是因为在调用我的脚本之前尚未定义 Jquery:

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
    </head>
    <body>
        <p>
            <a href="#" data-toggle="popover" title="first popover" id="example">hover over me</a>
        </p>
        <script type="text/javascript"> 
            $(function(){
                $('#example').popover({ trigger:'hover' });
            })
        </script>

        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script type="text/javascript" src="js/bootstrap.js"></script>
    </body>
</html>

如果我将 Jquery 链接移动到页眉,则代码运行良好,但这会减慢页面加载时间。

是否有更好的方法来声明我的函数以便它不会抛出此 UncaughtReference 错误,或者将 Jquery 链接保留在头部是最佳解决方案?

最佳答案

这是因为您正在尝试使用 jQuery之前 jQuery已加载。你需要像 jQuery 这样的库在文档的头部

<head>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <script type="text/javascript" src="js/bootstrap.js"></script>
</head>

通常,您的脚本位于文档末尾接近关闭正文标记的位置,而库(例如您正在使用的库)位于 <head>

关于jquery - 未捕获的 ReferenceError : $ is not defined when jquery. js 在文档末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16063969/

相关文章:

javascript - 如何打破 event.stopImmediatePropagation

javascript - Ajax上传仅将第一个文件传递给php文件

jQuery 和 setTimeout

javascript - JQuery ajax 和 dom 问题

html 文本字段的 javascript 和 css 属性不起作用

javascript - 发送 FORM POST 之前删除参数

Java/DOM : Get the XML content of a node

javascript - 如何检查选择框中是否存在值

jquery - 获取图像源路径并设置为 div 容器中的背景图像

javascript - angularjs ngrepeat插入批处理