我在 .jade 文件中使用此代码,在 for 循环内使用对象的值迭代和渲染 html:
- var linkExist = function(i){
- if (result[i]){
- var html = ',follow on ' + i + ': <a href="' + result[i] + '" target="_blank">' + result[i].split("http://")[1] + '</a>';
- return html;
- };
- }
#{linkExist('Twitter')}
#{linkExist('GitHub')}
它添加了额外的注释并呈现了额外的 <
在na d a之前>
之后,比如
<
,follow on Twitter:
<a href="http://twitter.com/user" target="_blank">twitter.com/user</a>
>
<!--,follow on Twitter: <a href="http://twitter.com/user" target="_blank"-->
twitter.com/user
>
<
,follow on GitHub:
<a href="http://github.com/user" target="_blank">github.com/user</a>
>
<!--,follow on GitHub: <a href="http://github.com/user" target="_blank"-->
github.com/user
>
顺便说一句,如果我使用
=linkExist('Twitter')
or
| #{linkExist('Twitter')}
它将 html 渲染为文本,但内容正确。 (但作为文本,而不是 html)
最佳答案
明白了,
jade 自动转义 html。为了避免这种情况,可以使用 !=
。
所以我改为:
- var linkExist = function(i){
- if (result[i]){
- var html = ' ,follow on ' + i + ': <a href="' + result[i] + '" target="_blank">' + result[i].split("http://")[1] + '</a>';
- return html;
- };
- }
!= linkExist('Twitter')
!= linkExist('GitHub')
关于node.js - 渲染 javascript 函数返回,其中包含链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19924139/