You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+MongoDB项目:EJS模板实现标签<a>包裹展示

解决EJS中循环生成标签链接的问题

嘿,这事儿其实超简单的!你只需要在EJS的循环里直接把<a>标签写进去就行,完全不用复杂操作。

基础实现版本

把你原来的循环代码改成这样,每个标签就会被包裹成可点击的链接了:

<% for(var i=0; i<tags.length; i++) { %>
  <a href="/tags/<%= tags[i] %>"><%= tags[i] %></a>
<% } %>

这里的/tags/<%= tags[i] %>是示例路由,你可以根据自己后端的路由规则调整,比如如果是要跳转到标签搜索页面,就改成对应的接口路径就行。

带分隔符的优化版本

如果想让标签之间看起来更美观,比如加个逗号或者竖线分隔,可以在循环里判断是否是最后一个元素:

<% tags.forEach((tag, index) => { %>
  <a href="/tags/<%= tag %>" style="margin-right: 8px;"><%= tag %></a>
  <% if (index !== tags.length - 1) { %>
    <span>,</span>
  <% } %>
<% }) %>

我这里用了forEach循环(比for循环更简洁),还加了点内联样式让标签间距更舒服,你也可以换成自己的CSS类名。

核心原理

EJS本身就是允许在模板里混合HTML和JS逻辑的,所以你完全可以在循环的JS代码块里直接写HTML标签,只要把动态内容用<%= %>插入就行——就像你之前输出标签文本那样,只是现在把文本放在<a>标签内部,同时给href属性动态赋值。

内容的提问来源于stack exchange,提问作者Counter J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:56:00