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

如何移除EJS循环中<th>元素间的换行(非<%-%>修剪方式)

解决EJS循环渲染产生多余换行的问题

你遇到的问题根源是EJS会将模板中EJS标签以外的所有空白(包括换行、缩进空格)原封不动输出到最终HTML里,循环代码前后的换行和缩进就变成了之间的多余换行。以下是两种无需修剪变量换行的解决办法:

方法1:压缩模板内的代码结构

直接把循环的EJS标签和元素写在同一行,消除模板里的多余空白:

<thead>
  <th class="yellow-field"></th>
  <% blockUnitDetail.UnitArr.forEach(unit=>{ %><th class="yellow-field"><%= unit %></th><% }) %>
</thead>

渲染后的HTML里,元素会紧密排列,不会出现多余换行。

方法2:使用EJS的空白修剪标签

用<%_和_%>标签包裹循环逻辑,这两个标签会自动修剪标签左右两侧的空白(包括换行),且不会影响变量内容的输出:

<thead>
  <th class="yellow-field"></th>
  <%_ blockUnitDetail.UnitArr.forEach(unit=>{ _%>
    <th class="yellow-field"><%= unit %></th>
  <%_ }) _%>
</thead>

这种方法既能保留模板代码的可读性,又能避免输出多余空白。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:27:12