jQuery with EJS



Jquery不能与EJS一起工作,这是我的EJS页面。我可以看到EJS功能工作正常,但jQuery功能不工作。没有显示任何错误。

<!DOCTYPE html>
<html>
  <head>
    <title>Help Page</title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
    <h1>Help</h1>
    <p>This is Help Page</p>
    <h2> Member Data </h2>
    <% data.forEach(function(d){ %>
        <%= d.member_desc %>
    <% });%>
     <script type='text/javascript'>
        $(function(){
            alert('inside jquery');
        });
     </script>
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
  </body>
</html>

我知道现在回答这个问题有点晚了,但我只是想添加这个评论,他们有(jquery和ejs)不同的生命周期一个(ejs)在渲染前编译和渲染后的jquery工作,你的问题有这种原因

你需要把你的jQuery <script>放在其他的之前。否则$尚未定义。

浏览器一个接一个地加载每个脚本。假设我们有脚本A和B, B使用来自A的东西,那么A应该在B之前,否则它将无法工作。

TL,博士

改变:

<script type='text/javascript'>
        $(function(){
            alert('inside jquery');
        });
     </script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script type='text/javascript'>
            $(function(){
                alert('inside jquery');
            });
</script>

放置jquery脚本:

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

现在脚本将在所有文档加载时运行

最新更新