javascript - 按照 EJS 中的 If 条件给出样式

标签 javascript css ejs

<% docs.forEach( function ( doc ){ %>

<div class="item">
    <% if (doc.Active) { %>
    <style> .item { background-color:red }</style>
    <% } %>
</div>

<% }); %>

假设有 3 个文档,

doc1 (Active == true)
doc2 (Active == true)
doc3 (Active == false)

我只想给 Active == true 样式。我像上面那样编码,但结果是每个 div 都被赋予了样式。所以最后都是红色背景,这不是我所期望的。

如何在 EJS 中有条件地提供样式?

最佳答案

您可能希望有条件地设置一个类似 .active 的类,并将其与您的 CSS 样式(例如红色背景颜色)一起使用。像这样:

<% docs.forEach(function (doc) { %>    
  <div class="item <%= doc.Active ? 'active' : '' %>"></div>
<% }); %>

关于javascript - 按照 EJS 中的 If 条件给出样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34563157/

相关文章:

javascript - 使用 multer 将音频文件上传到 express js 服务器

css - 按钮和链接样式表现不同

javascript - 如何为目录中的每个文件创建元素 | Javascript | NodeJS |埃杰斯

javascript - 播放来自 YouTube 的视频时出现黑屏 : Phonegap Android

javascript - React 组件用户不在状态

jquery - 体宽可以改写吗?

html - Bootstrap 导航栏确实切换

node.js - 如何使用 Express/Node.JS 通过 EJS 渲染 Markdown?

javascript - node.js 和 ejs 渲染问题

javascript - Intl.dateTimeFormatDate 为德语区域设置输出一个额外的点