Expressjs добавляет класс к элементу li частично - PullRequest
0 голосов
/ 13 декабря 2011

Скажите, у меня есть это меню в частичном:

<ul id="submenu">
    <li><a href="/mypage/profile/<%=user[0].id  %>">Profile</a></li>
    <li><a href="/mypage/test/<%=user[0].id  %>">Test</a></li>
</ul>

И эти маршруты:

app.get('/mypage/profile/:id', function(req,res,next) {
    res.render('site/mypage/cv', {
        title: 'profile'
    });

});

app.get('/mypage/test/:id', function(req,res,next) {
    res.render('site/mypage/cv', {
        title: 'test'
    });

});

Как я могу добавить класс selected к элементу li в зависимости отпо какой ссылке нажимают?

1 Ответ

0 голосов
/ 13 декабря 2011

Для этого примера вам не нужны какие-либо серверные вещи, вы можете добиться эффекта с помощью простого кода jQuery (не забудьте включить jQuery на предыдущую страницу):

$(function() {
  // put the possible page titles here
  // they must be in the url also
  var possible_pages = ['profile', 'test'], 
      path = window.location.pathname,
      pattern, page, i, len;

  for (i = 0, len = possible_pages.length; i <= len; i++) {
    page = possible_pages[i];
    pattern = new RegExp(page);
    if (pattern.test(path)) {
      $('.submenu .' + page).addClass('selected');
      break;
    }
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...