node.js - 渲染 javascript 函数返回,其中包含链接

标签 node.js pug

我在 .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之前>之后,比如

&lt;
,follow on Twitter: 
<a href="http://twitter.com/user" target="_blank">twitter.com/user</a>
&gt;
<!--,follow on Twitter: <a href="http://twitter.com/user" target="_blank"-->
twitter.com/user
&gt;
&lt;
,follow on GitHub: 
<a href="http://github.com/user" target="_blank">github.com/user</a>
&gt;
<!--,follow on GitHub: <a href="http://github.com/user" target="_blank"-->
github.com/user
&gt;

顺便说一句,如果我使用

=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/

相关文章:

vue.js - 单击“编辑”按钮后如何使禁用的输入可编辑

javascript - 如何在jade中编写javascript block ?

javascript - AngularJS Jade 模板中的空白

html - Jade 响应式 Twitter Bootstrap 的每次迭代模数

node.js - NodeJs + Nginx .. upstream 在从 m upstream 读取响应头时过早地关闭了连接

node.js - websocket 服务器的 Apache 代理不工作

javascript - 使用nodejs服务器读取并打印文件内容?

javascript - Jade 条件(if/else)将类添加到 div 内联

javascript - TypeScript 经常出现问题并且更喜欢 import 而不是 require

javascript - 无法在VSCode中调试Electron JS应用程序