You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在EJS中使用三元运算符?写法不生效是否只能使用if-else?

EJS三元运算符使用问题解答

EJS本身完全支持三元运算符,你写的代码无法运行是语法使用错误,和EJS本身支不支持没关系。

你原有写法的问题是:把三元运算符的逻辑拆分到了多个独立的<% %>脚本标签中,每个标签内的代码会被单独解析,无法跨标签拼接成完整的三元运算语法,所以运行报错。

两种可行实现方案

  • 方案1:用if-else实现多HTML块分支(可读性更高,适合分支逻辑包含大段HTML的场景)
<% if (kindOfDay === "Saturday" || kindOfDay === "Sunday") { %>
<h1 style="color: purple;"><%= kindOfDay %> List</h1>
<% } else { %>
<h1 style="color: blue;"><%= kindOfDay %> List</h1>
<% } %>
  • 方案2:用三元运算符实现(适合控制单个属性值、文本内容的短逻辑场景)
<h1 style="color: <%= kindOfDay === 'Saturday' || kindOfDay === 'Sunday' ? 'purple' : 'blue' %>">
  <%= kindOfDay %> List
</h1>

内容的提问来源于stack exchange,提问作者yenyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:57:01