Подсветка текущей страницы в навигации - PullRequest
0 голосов
/ 05 февраля 2010

Мне нужно выделить текущую страницу в левой навигационной панели.

Навигация должна быть загружена извне через .shtml:

<!--#include file="leftnav-menu.inc"-->

Мои URL-адреса имеют вид:

www.xxx.com / миссии critical.shtml

но иногда просто:

www.xxx.com / energy.shtml (например, одно слово без дефиса)

Моя навигационная система отображает его как 'Критическое для миссии'

Как я могу выделить ul li с помощью "class = selected"? Я видел что-то вроде этого:

$(function(){
   var path = location.pathname.substring(1);
   if ( path )
     $('.leftmenuNav ul li a[@href$="' + path + '"]').attr('class', 'selected');
 });    

Не могу понять, как разбиваются струны и т.д. ...

Пример навигационной панели:

<ul>
<li><a href="corporate-responsibility.shtml">Corporate responsibility</a></li>
<li><a href="overview.shtml">Overview</a></li>
<li><a href="governance.shtml">Governance</a></li>
<li><a href="our-approach.shtml">Our approach</a></li>
</ul>

1 Ответ

0 голосов
/ 05 февраля 2010

Хорошо, синтаксис jQuery был немного неправильным. Это должно работать:

$.ready(function()
{
   var path = location.pathname.substring(location.pathname.lastIndexOf("/") + 1);
   if ( path )
     $('.leftmenuNav ul li a[href="' + path + '"]').attr('class', 'selected');
});

Кроме того, убедитесь, что leftmenuNav прав (ваш код выше не показывает его)

...