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(){
...
});
现在脚本将在所有文档加载时运行