【问题标题】:Setting the attribute of an HTML tag with EJS or jQuery使用 EJS 或 jQuery 设置 HTML 标签的属性
【发布时间】: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="">
  • 这成功了!我没试过。我认为它将被视为文字字符串

标签: javascript jquery html express ejs


【解决方案1】:

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

在html中:

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

在 jQuery 中:

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

【讨论】:

  • 如果你想填写一个像 onclick 这样的 JS 调用,但你的数据可能包含单个撇号,你可以使用 data attributes 通过例如传递onclick="someCall(this)" data-something="&lt;%= someValue %&gt;",在接收函数中可以通过passedThisElement.dataset.something读取。
  • @PhilippLenssen 我在这里做了同样的事情,但它不起作用stackoverflow.com/questions/67659225/…
猜你喜欢
  • 2013-01-07
  • 1970-01-01
  • 2018-02-22
  • 2016-10-31
  • 1970-01-01
  • 2014-12-01
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多