ejs,如何添加html标签的动态属性?

时间:2017-09-14 02:05:29

标签: express ejs

我使用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>

如何解决这两个问题?

1 个答案:

答案 0 :(得分:1)

对于第一个你现在有这个:

<div id="top-area">
    <div class="content">
        <p><a href="http://codexr.io/collaborative"><img alt="" height="450" src="http://codexr.io/sites/default/files/workplace-1245776.jpg" width="800"></a></p>
        <h2 class="top-area-text">Collaborative</h2>
    </div>
    <div class="content">
        <p><a href="http://codexr.io/collaborative"><img alt="" height="450" src="http://codexr.io/sites/default/files/workplace-1245776.jpg" width="800"></a></p>
        <h2 class="top-area-text">Test</h2>
    </div>
    <div class="content">
        <p><a href="http://codexr.io/collaborative"><img alt="" height="450" src="http://codexr.io/sites/default/files/workplace-1245776.jpg" width="800"></a></p>
        <h2 class="top-area-text">Test2</h2>
    </div>
</div>

您无法嵌套<a href="<%= prevDisabledClass ? '' : ?page=<%=+page - 1%>%>">prev</a> ,请改为尝试:

<%=

对于第二个,它几乎完全相同,但你将条件移到更多的输出上:

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

我已使用<a<%- prevDisabledClass ? '' : (' href="?page=' + (page - 1) + '"') %>>prev</a> 代替<%-来确保<%=无法进行HTML编码。

完全放弃"可能更清楚:

?:

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