【问题标题】:ejs, how to add dynamic attributes of html tag?ejs,如何添加html标签的动态属性?
【发布时间】:2018-02-22 20:44:26
【问题描述】:

我用express.js+ejs,我有两种情况:

1.

<a href="<%= prevDisabledClass ? '' : ?page=<%=+page - 1%>%>">prev</a>

但它给了我一个错误:Could not find matching close tag for "<%="./nundefined/nError: Could not find matching close tag for "<%=".

我想得到

prevDisabledClass ? <a href=''>prev</a> : <a href='?page=<%=+page - 1%>'>prev</a>

2.

如上,但动态添加href属性到html标签<a>

我想得到这个:

prevDisabledClass ? <a>prev</a> : <a href='?page=<%=+page - 1%>'>prev</a>

我该如何解决这两个问题?

【问题讨论】:

    标签: express ejs


    【解决方案1】:

    对于您目前拥有的第一个:

    <a href="<%= prevDisabledClass ? '' : ?page=<%=+page - 1%>%>">prev</a>
    

    你不能嵌套&lt;%=,试试这个:

    <a href="<%= prevDisabledClass ? '' : ('?page=' + (page - 1)) %>">prev</a>
    

    对于第二个,它几乎完全相同,但你会在更多输出中移动条件:

    <a<%- prevDisabledClass ? '' : (' href="?page=' + (page - 1) + '"') %>>prev</a>
    

    这里我使用&lt;%- 而不是&lt;%= 来确保" 不会被HTML 编码。

    完全放弃?: 可能更清楚:

    <% if (prevDisabledClass) { %>
        <a>prev</a>
    <% } else { %>
        <a href="?page=<%= page - 1 %>">prev</a>
    <% } %>
    

    有一些重复,但更容易阅读。

    【讨论】:

      猜你喜欢
      • 2014-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多