Выделение текущей страницы в навигации

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

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

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

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

www.xxx.com/mission-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>

person Don West    schedule 05.02.2010    source источник
comment
Это выглядит правильно. Если вам нужна дополнительная помощь, разместите код на панели навигации.   -  person Matthew Flaschen    schedule 05.02.2010
comment
Спасибо, Мэтью, все еще не работает .. разместил навигацию   -  person Don West    schedule 05.02.2010


Ответы (1)


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

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

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

person Matthew Flaschen    schedule 05.02.2010