express - ejs, how to add dynamic attributes of html tag? -
i use express.js
+ ejs
, have 2 cases:
1.
<a href="<%= prevdisabledclass ? '' : ?page=<%=+page - 1%>%>">prev</a>
but give me error: could not find matching close tag "<%="./nundefined/nerror: not find matching close tag "<%=".
i want
prevdisabledclass ? <a href=''>prev</a> : <a href='?page=<%=+page - 1%>'>prev</a>
2.
like above, dynamic add href
attribute html tag <a>
i want this:
prevdisabledclass ? <a>prev</a> : <a href='?page=<%=+page - 1%>'>prev</a>
how can solve these 2 problem?
for first 1 have this:
<a href="<%= prevdisabledclass ? '' : ?page=<%=+page - 1%>%>">prev</a>
you can't nest <%=
, try instead:
<a href="<%= prevdisabledclass ? '' : ('?page=' + (page - 1)) %>">prev</a>
for second 1 it'd same you'd move condition around more of output:
<a<%- prevdisabledclass ? '' : (' href="?page=' + (page - 1) + '"') %>>prev</a>
here i've used <%-
instead of <%=
ensure "
doesn't html encoded.
it might clearer ditch ?:
altogether:
<% if (prevdisabledclass) { %> <a>prev</a> <% } else { %> <a href="?page=<%= page - 1 %>">prev</a> <% } %>
there's duplication it's easier read.
Comments
Post a Comment