【问题标题】:JQuery error with node, jade & express节点,玉和快递的JQuery错误
【发布时间】:2015-11-25 09:37:40
【问题描述】:

我收到一条错误消息,说我的 js 脚本中的 $ 没有定义,我真的很想了解我可能做错了什么。结果我不能做任何 jquery 的东西。我检查了资源,它们实际上都加载了。

错误信息: 未捕获的 ReferenceError: $ 未定义

母版页:

//doctype html
html
    head
        title=title
        link(href='https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.0/css/materialize.min.css', rel='stylesheet')
        link(href='//fonts.googleapis.com/css?family=Roboto:400,300|Lato:100,300' rel='stylesheet')
        link(href='/css/bootstrap.min.css' rel='stylesheet')
        link(href='/css/custom.css' rel='stylesheet')
        link(href='/css/animate.css' rel='stylesheet')
        link(href="/css/pnotify.custom.min.css" media="all" rel="stylesheet" type="text/css")
        link(href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet")
    body
        block content
    link(src='https://code.jquery.com/jquery-2.1.1.min.js' type='text/javascript')
    link(src="/js/pnotify.custom.min.js")
    link(src="/js/custom.js")
    link(src='https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.0/js/materialize.min.js' type='text/javascript')

带有 javascript 的子页面

extends layout

block content
    nav.blue.darken-4(role="navigation" style="margin-bottom: 50px")
        .nav-wrapper(style="margin-left:10px")
            a.brand-logo(href='/home') Owen's Math Game - Admin Dashboard      
            ul.right.hide-on-med-and-down
                li(class="tooltipped active" data-position="bottom" data-delay="50" data-tooltip="Profile")
                    a(href='/home')
                        i.material-icons perm_identity   
                li(class="tooltipped" data-position="bottom" data-delay="50" data-tooltip="Users")
                    a(href='/users')
                        i.material-icons search      
                li(class="tooltipped" data-position="bottom" data-delay="50" data-tooltip="Leaderboard")
                    a(href='/admin/leaderboard')
                        i.material-icons list         
                li(class="tooltipped" data-position="bottom" data-delay="50" data-tooltip="Settings")
                    a(href='/settings')
                        i.material-icons settings
                li(class="tooltipped" data-position="bottom" data-delay="50" data-tooltip="Log Out")
                    a(href='/signout')
                        i.material-icons fast_rewind
    div.container
        div.row
            div.col-sm-6.col-md-4.col-md-offset-4
                #user
                    div.signup-wall
                        a(class="tooltipped" href="#" data-position="bottom" data-delay="50" data-tooltip="I am tooltip")
                            img(class='profile-img', style="display:inline" src='/avatar-img.png')
                        h1.text-center.login-title Welcome #{user.firstName} #{user.lastName} <br/> Check your details below:
                        ul.user-details
                            li Username  #{user.username}
                            li Email    #{user.email}
                            li First Name  #{user.firstName} 
                            li Last Name #{user.lastName}

    script.
        $(document).ready(function(){
            //Initialize collapse button
            $(".button-collapse").sideNav();

            $('.tooltipped').tooltip({delay: 50});
        })

在头部添加jquery不会改变错误

【问题讨论】:

  • 你试过用 jQuery(document) 代替 $(document) 吗?看看你的js文件是不是用firebug下载的;)
  • 给出了同样的错误,我的文件已加载

标签: javascript jquery node.js pug


【解决方案1】:

在加载 jQuery(定义 $ 的库)之前声明你的正文内容。您还为所有 JS 文件使用 link 而不是 script

您应该(至少)将 jquery 加载移动到 之前 block content(在布局/“主”文件中)。正如@Radu 在 cmets 中所建议的那样,&lt;head&gt; 将是一个不错的位置。

【讨论】:

  • 我把它作为第一件事,仍然是同样的错误,并且没有发生jquery动画
  • 如 robert 所说,jquery 库应该加载到 head 中
  • @user56683 查看编辑,您也使用link 而不是script
  • 我意识到并改变了它,但它仍然不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-02
  • 2013-11-16
  • 2018-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多