0

左のナビゲーションで現在のページを強調表示する必要があります。

navは、.shtmlincludeを介して外部にロードする必要があります。

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

私のURLは次の形式を取ります:

www.xxx.com/mission-critical.shtml

しかし時々ちょうど:

www.xxx.com/energy.shtml(たとえば、ハイフンなしの1つの単語)

私のナビゲーションはそれを「ミッションクリティカル」とリストしています

「class=selected」でulliを強調表示するにはどうすればよいですか?私はこのようなものを見ました:

$(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 に答える