Как сделать ссылку активной для каждой страницы? [дубликат]

408
19 октября 2017, 12:17

На данный вопрос уже ответили:

  • Как пометить ссылку страницы на которой находишься 1 ответ

Есть блок меню:

nav>ul>a { 
  background: #eee; 
  color: #010101; 
} 
 
nav>ul>a:active { 
  background: #010101; 
  color: #eee; 
}
<nav> 
  <ul> 
    <a href="/about"> 
      <li>about</li> 
    </a> 
    <a href="/info"> 
      <li>info</li> 
    </a> 
  </ul> 
</nav>

Как сделать, чтобы на странице /about ссылка <a href="/about"> была активной, а на странице /info соответственно ссылка <a href="/info"> была активной ?

Может скриптами есть решение этой задачи?

Answer 1

var curpath = location.pathname.match(/^\/[^/]+/); 
var link = curpath && document.querySelector('nav a[href="' + curpath[0] + '"]'); 
 
if (link) { 
  link.className += ' active'; 
}
nav a { 
  display: block; 
  background: #eee; 
  color: #010101; 
} 
 
nav a.active { 
  background: #010101; 
  color: #eee; 
}
<nav> 
  <ul> 
    <li><a href="/about">about</a></li> 
    <li><a href="/js">js</a></li> 
    <li><a href="/info">info</a></li> 
  </ul> 
</nav>

READ ALSO
javascript выдернуть время

javascript выдернуть время

offset выводит 1508321154018

298
slideToggle() не отодвигает нижние блоки на Safari

slideToggle() не отодвигает нижние блоки на Safari

Добрый деньУ меня почему-то в Safari при использовании slideToggle() не отодвигается нижний контент, а этот блок разворачивает под ни м

260
смена active класса по клику React

смена active класса по клику React

Помогите разобраться, мне нужно по клику добавлять класс, элементов может быть несколько, чтобы по клику на текущий элемент класс добавлялся,...

275
Поиск по данным и вывод результата indexOf()

Поиск по данным и вывод результата indexOf()

Добрый день, у меня есть данные в таком формате:

250