0

我需要在左侧导航中突出显示当前页面。

导航必须通过 .shtml 从外部加载,包括:

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

我的网址采用以下形式:

www.xxx.com/mission-critical.shtml

但有时只是:

www.xxx.com/energy.shtml(例如一个单词没有连字符)

我的导航将其列为“关键任务”

如何使用“class=selected”突出显示 ul li?我见过这样的事情:

$(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>
4

1 回答 1

0

好的,jQuery 语法有点错误。这应该有效:

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

另外,确保 leftmenuNav 是正确的(你上面的代码没有显示它)

于 2010-02-05T12:12:19.070 回答