如何在 HTML 属性中使用 EJS?

Posted

技术标签:

【中文标题】如何在 HTML 属性中使用 EJS?【英文标题】:How to use EJS inside HTML attributes? 【发布时间】:2021-06-29 06:01:13 【问题描述】:

我有以下两种情况,我想在 html 属性中使用 EJS 标记。

案例 1:

<input
   style="background-image: url(<%= img.URL %>)"
/>

案例 2:

<input
    onchange="handleCheckboxChange(<%= img.URL %>)"
/>

我无法弄清楚为什么它不起作用。 img 对象在渲染模板时被正确传递。

【问题讨论】:

【参考方案1】:

案例 2 转换为以下内容:

<input
    onchange="handleCheckboxChange(https://example.org)"
/>

这是语法错误

您需要将它们用引号括起来:

<input
    onchange="handleCheckboxChange('<%= img.URL %>')"
/>

【讨论】:

【参考方案2】:

我找到了同样的解决方案,ejs 标签需要用引号括起来

案例 1 的解决方案

<input
   style="background-image: url('<%= img.URL %>')"
/>

案例 2 的解决方案

<input
    onchange="handleCheckboxChange('<%= img.URL %>')"
/>

【讨论】:

以上是关于如何在 HTML 属性中使用 EJS?的主要内容,如果未能解决你的问题,请参考以下文章

Node JS+Express:如何在 HTML(EJS) 中定义和使用 MySQL 数据?

如何使用 Nodejs/mongodb/mongoose 在 ejs/html 中显示数据库项目?

如何在 node.js EJS 视图中转义 HTML?

在express3里用ejs模版引擎时,如何使其支持'.html'后缀

无法读取未定义的属性“名称” - mongoose、express、nodeJS、ejs

如何在EJS和gulp中实现i18n本地化?