javascript - 在脚本标签之间使用 EJS
问题描述
我是 EJS 的新手,我希望在单击按钮时根据 EJS 呈现的数据动态创建 div 方面的帮助。在我的快递文件中:
res.render("user/profile.ejs", { posts: req.user.posts });
//posts is an array with elements having a similar structure to
/*"posts":[
{
"_id":{"$oid":"5cf9072b74cc8310803c89df"},
"type":"Story",
"subject/genre":"somethin",
"content":"another thing",
"date":{"$date":{"$numberLong":"1559824171334"}}
}
]*/
在我的 ejs 文件中:
<div class="row">
<div class="col">
<div style="float: right">
<button type="button" class="btn btn-dark btn-sm m-1 loadPosts-btn" id="All" style="width: 60px">All</button>
<button type="button" class="btn btn-dark btn-sm m-1 loadPosts-btn" id="Idea" style="width: 60px">Ideas</button>
<button type="button" class="btn btn-dark btn-sm m-1 loadPosts-btn" id="Story" style="width: 60px">Stories</button>
</div>
</div>
</div>
<script>
$(document).ready(function(){
$(".loadPosts-btn").click(function(){
$(".posts-row").remove();
if($(this).attr("id") === "All"){
<% posts.forEach(elem=>{ %>
document.getElementsByClassName("container")[0].innerHTML +=
`<div class="row posts-row" style="border: 1px solid black">
<div class="col">
<div class="post-container m-4 p-3">
<h2>${elem.type}</h2>
<h4>${elem["subject/genre"]}</h4>
<p>${elem.content}<p>
<small>${elem.date}</small>
</div>
</div>
</div>`
<% }) %>
};
});
$("#All").click();
});
</script>
它显示一个错误:elem is not defined
。我认为这是正常的,因为我没有elem
通过render()
. 简而言之,我想要的是在单击按钮时为数组<div class="row">
中的每个帖子添加一个。我不知道我应该在标签中还是在无标签下这样做。posts
id="All"
<script>
<div class="row">
<script>
先感谢您。
解决方案
推荐阅读
- python - 使用 python 解析 XSD 文件
- c - 在返回指向结构的指针的函数中为结构分配内存
- logging - 在开发过程中记录调试和其他信息
- sql - 动态提取文本 - SQL
- pip - 无法在没有 SSL 支持的情况下构建 P4Python win 10
- reactjs - 仅当输入中的所有元素都更改时,如何使 useEffect 挂钩调用提供的效果?
- typo3 - 如何通过 Webhook URL 调用 Extbase CommandController
- ionic3 - 离子选择的边框样式不起作用
- c# - 在 VS2017 中检查与 Package Reference 相关的程序集
- c# - 循环遍历数据表选择数据 C#