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

如何在EJS页面中添加style属性?代码可运行但存在提示问题

问题描述

我在EJS页面里给元素加自定义背景色样式,代码能正常运行,但编辑器/开发工具一直弹出语法提示错误。

我的EJS代码片段:

<div class="card card_applicant">
    <div class="card_title" style="background-color: <%= aday.Renk %>;" >
        <h3 class="card-title"><%=(aday.Soyadi).toUpperCase() %></h3>
    </div>
</div>

编辑器提示的错误:

  • Unexpected token '<'
  • Property values expected

解决办法

1. 用EJS标签生成完整样式字符串

把style属性里的内容整个用EJS模板字符串生成,避免编辑器把EJS标签当成HTML语法错误:

<div class="card card_applicant">
    <div class="card_title" style="<%= `background-color: ${aday.Renk};` %>" >
        <h3 class="card-title"><%= aday.Soyadi.toUpperCase() %></h3>
    </div>
</div>

2. 把整个style属性用EJS输出

直接用EJS生成完整的style属性,编辑器就不会纠结里面的语法了:

<div class="card card_applicant">
    <div class="card_title" <%= `style="background-color: ${aday.Renk};"` %> >
        <h3 class="card-title"><%= aday.Soyadi.toUpperCase() %></h3>
    </div>
</div>

3. 用动态类名替代内联样式(推荐)

如果颜色是固定的几种,不如提前在CSS里写好对应的类,后端把颜色值转成类名,这样既没语法提示问题,还符合样式分离的规范:

/* 先写好CSS类 */
.bg-red { background-color: #ff0000; }
.bg-blue { background-color: #0000ff; }
/* 其他颜色类按需添加 */
<!-- EJS里直接加类名 -->
<div class="card card_applicant">
    <div class="card_title <%= aday.RenkClass %>" >
        <h3 class="card-title"><%= aday.Soyadi.toUpperCase() %></h3>
    </div>
</div>

注意这里需要后端把aday.Renk转换成对应的类名,比如原颜色是#ff0000,就返回bg-red。

4. 临时禁用编辑器的HTML语法检查

不想改代码的话,可以给当前文件禁用HTML语法检查。比如VS Code里在文件顶部加一行注释:

<!-- html-disable -->

或者调整编辑器设置,把EJS文件关联到正确的语法模式,让编辑器能识别EJS标签。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:12:54