按照 EJS 中的 If 条件给出样式
Give style following If condition in 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 中有条件地提供样式?
语法是:
<style> .item { background-color:red; } </style>
要仅将其设置为其中一项,请使用:
<style>
.active { background-color:red; }
</style>
<% docs.forEach( function ( doc ){ %>
<% if (doc.Active) { %>
<div class="item acitve">
<% } else { %>
<div class="item">
<% } %>
...
</div>
<% }); %>
您可能希望有条件地设置 class,例如 .active
,并将其与您的 CSS 样式(例如红色 background-color)结合使用。像这样:
<% docs.forEach(function (doc) { %>
<div class="item <%= doc.Active ? 'active' : '' %>"></div>
<% }); %>
<% 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 中有条件地提供样式?
语法是:
<style> .item { background-color:red; } </style>
要仅将其设置为其中一项,请使用:
<style>
.active { background-color:red; }
</style>
<% docs.forEach( function ( doc ){ %>
<% if (doc.Active) { %>
<div class="item acitve">
<% } else { %>
<div class="item">
<% } %>
...
</div>
<% }); %>
您可能希望有条件地设置 class,例如 .active
,并将其与您的 CSS 样式(例如红色 background-color)结合使用。像这样:
<% docs.forEach(function (doc) { %>
<div class="item <%= doc.Active ? 'active' : '' %>"></div>
<% }); %>