使用 EJS 或 jQuery 设置 HTML 标签的属性

Posted

技术标签:

【中文标题】使用 EJS 或 jQuery 设置 HTML 标签的属性【英文标题】:Setting the attribute of an HTML tag with EJS or jQuery 【发布时间】:2014-07-21 20:57:04 【问题描述】:

在我的快速服务器上,我正在渲染一个包含如下数据的页面:

app.get('/people/:personID', function (req, res) 
  res.render("people/profile", person: req.person );
);

在我的 profile.ejs 文件中,我可以像这样访问 ejs 标记中的数据:<p><%= person.name %></p>

我不知道如何将 html 标记的属性更改为存储在此对象中的值。

这不起作用:<img id="my_img" src=<%= person.picture %> alt=""> 或者这个:$("#my_img").attr("src", <%= person.picture %>);

另外,如果有更好的方法可以将此文档传递到 html 页面并访问它,我会全力以赴(或者在这种情况下是眼睛)。谢谢

【问题讨论】:

或许你应该加上引号:<img id="my_img" src="<%= person.picture %>" alt=""> 这成功了!我没试过。我认为它将被视为文字字符串 【参考方案1】:

您必须在引号内包含字符串值。

在html中:

<img id="my_img" src="<%= person.picture %>" >

在 jQuery 中:

$("#my_img").attr("src", "<%= person.picture %>");

【讨论】:

如果你想填写一个像 onclick 这样的 JS 调用,但你的数据可能包含单个撇号,你可以使用 data attributes 通过例如传递onclick="someCall(this)" data-something="&lt;%= someValue %&gt;",在接收函数中可以通过passedThisElement.dataset.something读取。 @PhilippLenssen 我在这里做了同样的事情,但它不起作用***.com/questions/67659225/…

以上是关于使用 EJS 或 jQuery 设置 HTML 标签的属性的主要内容,如果未能解决你的问题,请参考以下文章

jquery 选中文本框 jquery 文本框样式 jquery 改变样式

express中使用ejs

我想使用 Jquery .change(function... (JS, EJS, Mongoose, Express) 显示数组中的特定项目

使用 Node、Express 和 EJS 压缩 HTML?

ejs模板引擎的使用

使用 Notepad++ 在 HTML 文件中突出显示 EJS 语法