我需要在左侧导航栏中突出显示当前页面。
导航必须通过.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>
答案 0 :(得分: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是正确的(上面的代码没有显示)