I’d like to render a ‘current’ class on each of my navigation links depending on which page I’m on in my layout.ejs template.
Currently, my express controller index looks like this:
// About exports.about = function(req, res) { res.render('content/about.ejs', { title: 'About' }); };
And in my layout.ejs I have the following, which I’d like be rendered dynamically.
<ul class="nav" id="nav"> <li><a href="/">Home</a></li> <li class="current"><a href="/about">About</a></li> <li><a href="/">Contact</a></li> </ul>
Any ideas of how to achieve this?
Advertisement
Answer
You could include a page_name: 'about'
in the res.render
data and then in the template something like:
<li <% if (page_name === 'about') { %>class="current" <% } %> ><a href="/about">About</a></li>
I didn’t test the syntax, but that’s the gist.