Javascript 如何在HTML属性中使用EJS?

Javascript 如何在HTML属性中使用EJS?,javascript,html,node.js,ejs,Javascript,Html,Node.js,Ejs,我有以下两种情况需要在HTML属性中使用EJS标记 案例1: <input style="background-image: url(<%= img.URL %>)" /> <input onchange="handleCheckboxChange(<%= img.URL %>)" /> 案例2: <input style="background-image: ur

我有以下两种情况需要在HTML属性中使用EJS标记

案例1:

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

案例2:

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


我不明白为什么它不起作用。呈现模板时正确传递
img
对象。

案例2转换为以下内容:

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

这是一个语法错误

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

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

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

案例1的解决方案

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

案例2的解决方案