您如何 运行 JQuery 在 EJS forEach 循环中编写代码?
How do you run JQuery code inside an EJS forEach loop?
如何在 EJS forEach 循环中 运行 JQuery 编写代码?我正在尝试以 Express 作为引擎从通过 Node.js 获取的 mongoDB 文档中读取。对于每个项目,我想创建一个 li
项目,并将项目名称作为列表项目文本。目前,这是我拥有的:
<% data[0].user_projects.forEach(function(project) { %>
$('#projUL').append('<li><%= project.project_name %></li>');
<% }); %>
但是,当我转到该页面时,它没有抛出任何错误;但在源代码中它显示了以下脚本,但它从未呈现到页面:
<script>
$('#projUL').append('<li>Express Project 1</li>');
</script>
如果我删除脚本标签,它只会插入相同代码的纯文本。所以,我不知道如何在 EJS forEach 循环中获取 jQuery 代码。无论我做什么,它都不会呈现结果。它似乎只接受纯文本。
执行脚本时,ul projUL 可能不在 DOM 中。如果您仍然需要在不使用模板的情况下向 HTML 写入一些数据,您可以尝试使用 jQuery 就绪事件。首先使用脚本添加数据服务器端,然后在创建 UL 后附加它。
//this will be global or use your own scope.
window.user_projects = <%= data[0].user_projects %>;
$(document).ready(function (){
var $list = $('#projUL');
window.user_projects.forEach(function () {
$list.append('<li><%= project.project_name %></li>');
});
});
如何在 EJS forEach 循环中 运行 JQuery 编写代码?我正在尝试以 Express 作为引擎从通过 Node.js 获取的 mongoDB 文档中读取。对于每个项目,我想创建一个 li
项目,并将项目名称作为列表项目文本。目前,这是我拥有的:
<% data[0].user_projects.forEach(function(project) { %>
$('#projUL').append('<li><%= project.project_name %></li>');
<% }); %>
但是,当我转到该页面时,它没有抛出任何错误;但在源代码中它显示了以下脚本,但它从未呈现到页面:
<script>
$('#projUL').append('<li>Express Project 1</li>');
</script>
如果我删除脚本标签,它只会插入相同代码的纯文本。所以,我不知道如何在 EJS forEach 循环中获取 jQuery 代码。无论我做什么,它都不会呈现结果。它似乎只接受纯文本。
执行脚本时,ul projUL 可能不在 DOM 中。如果您仍然需要在不使用模板的情况下向 HTML 写入一些数据,您可以尝试使用 jQuery 就绪事件。首先使用脚本添加数据服务器端,然后在创建 UL 后附加它。
//this will be global or use your own scope.
window.user_projects = <%= data[0].user_projects %>;
$(document).ready(function (){
var $list = $('#projUL');
window.user_projects.forEach(function () {
$list.append('<li><%= project.project_name %></li>');
});
});