在 EJS 中遵循 If 条件给出样式

ton*_*on1 2 javascript css ejs

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

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

<% }); %>
Run Code Online (Sandbox Code Playgroud)

想象3个文档,

doc1 (Active == true)
doc2 (Active == true)
doc3 (Active == false)
Run Code Online (Sandbox Code Playgroud)

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

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

小智 5

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

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