如何在EJS循环生成的表格第一行追加静态文本?
我来帮你搞定这个问题~你现在的问题出在判断逻辑上:你想要表格第一行显示'received',但原代码里的if(record.moneyReceived[0])是在检查每条数据的moneyReceived数组第一个元素是否存在,这和「是不是第一行」完全不相关,所以判断自然不会生效。
正确的实现方式
你需要利用forEach循环的索引参数来识别第一行(数组索引从0开始,所以索引为0的元素就是第一条数据,对应表格第一行)。修改后的代码如下:
<tbody class="scroll" id="upcoming__body"> <% data.forEach((record, index) => { %> <tr> <td> <% if(index === 0) { %> <span>received</span> <% } %> <span style="display:block; font-size: 16pt; color:green;">$<%= record.moneyReceived %></span> </td> </tr> <% }) %> </tbody>
关键修改说明
- 给
forEach添加了第二个参数index,它代表当前循环元素在data数组中的位置(从0开始计数) - 将判断条件改为
if(index === 0),这样只有循环到第一条数据(表格第一行)时,才会渲染<span>received</span>
这样不管你的data数组有多少条数据,表格的第一行都会自动追加'received'文本啦。
内容的提问来源于stack exchange,提问作者dutchkillsg
相关产品推荐
相关产品推荐

