在导航中突出显示当前页面

发布于 2024-08-20 01:04:46 字数 938 浏览 8 评论 0原文

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

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

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

我的网址采用以下形式:

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

I need to highlight the current page in my left nav.

The nav has to be loaded externally via an .shtml include:

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

My urls take the form of:

www.xxx.com/mission-critical.shtml

but sometimes just:

www.xxx.com/energy.shtml (eg one word no hyphen)

My nav lists it as 'Mission critical'

How can I highlight the ul li with "class=selected"? I've seen something like this:

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

Can't quite get my head around the string splitting etc...

Sample nav bar:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尤怨 2024-08-27 01:04:46

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

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

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

Okay, the jQuery syntax was slightly wrong. This should work:

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

Also, make sure the leftmenuNav is right (your code above doesn't show it)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文