使用 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="<%= someValue %>"
,在接收函数中可以通过passedThisElement.dataset.something
读取。
@PhilippLenssen 我在这里做了同样的事情,但它不起作用***.com/questions/67659225/…以上是关于使用 EJS 或 jQuery 设置 HTML 标签的属性的主要内容,如果未能解决你的问题,请参考以下文章
jquery 选中文本框 jquery 文本框样式 jquery 改变样式
我想使用 Jquery .change(function... (JS, EJS, Mongoose, Express) 显示数组中的特定项目