使用EJS和HTML将其他类添加到已添加类的元素中?

问题描述 投票:0回答:3

我目前正在尝试使用ejs为导航栏开发部分模板文件,但是我正在努力为已经添加了类的元素添加其他类。

我尝试了2种添加附加类的方法,这是第一种:

<li class='navbar-item'<% if (pageTitle === 'Home') { %> class="active" <% } %>> <a href="/home">Home</a></li>

但是这没用,所以我决定尝试在类属性中嵌入EJS,如下所示

<li class="nav-item <% if (pageTitle === 'Home') { %> active <% } %>"> 

这也没有用,我确保正确提供pageTitle,因为它在网页的其他地方使用并且工作正常。

我不确定下一个阶段是什么,我考虑使用额外的JS文件,但这似乎反效果,因为我已经能够将JS嵌入到HTML中。

任何帮助表示赞赏,提前谢谢。

javascript html css node.js ejs
3个回答
2
投票

使用像这样的条件运算符可以让您的生活更轻松

<li class="<%= pageTitle == 'Home' ? 'navbar-item active' : 'navbar-item' %>" 

0
投票

我认为问题可能在于比较。作为第一个检查,在您的第二个版本中尝试'=='和'!='。如果'!='给你'当前'类,你知道一般的逻辑是好的。有关更多详细信息以及如何比较字符串的更好方法,请查看此处:How could I compare two string in Jsp?


0
投票

使用if else语句,我已经设法为我自己的问题开发了一个替代解决方案。在与一位对此提出相对简单的解决方案的同学讨论后,我得出了这个结论。

<li <% if (pageTitle == 'Home') { %> class='navbar-item active'<% } else { %> class = 'navbar-item' <% } %>>

这并不是我希望它能够正常工作,但仍能有效地发挥作用。

© www.soinside.com 2019 - 2024. All rights reserved.