用jquery突出显示当前菜单项

highlight current menu item with jquery

本文关键字:菜单项 显示 jquery      更新时间:2023-09-26

我需要提升当前类别。我可以这样做,没问题:

javascript

var url = document.URL;
$('.nav a[href="'+url+'"]').addClass('active');

html

<div class="nav">
    <ul>
        <li><a href="http://wholewebaddress.com/cat.php?id=1">Category 1</a></li>
        <li><a href="http://wholewebaddress.com/cat.php?id=2">Category 2</a></li>
    </ul>
</div>

但我不想链接到html代码中的http://wholewebadress.com/catphp?cat.php?id=1,而是想链接到cat.php?id=1。所以我希望我的html代码如下所示;

<div class="nav">
        <ul>
            <li><a href="cat.php?id=1">Category 1</a></li>
            <li><a href="cat.php?id=2">Category 2</a></li>
        </ul>
</div>

看起来,我需要编辑我的javascript代码。有什么办法吗?

下面将活动类添加到URL中包含id=1的任何链接:

$('.nav a[href*="id=1"]').addClass('active');

您可以更改匹配部分("id=1")以选择您需要的任何URL标准。

使用var url = location.pathname + location.search;

W3学校信息

编辑:因为它似乎需要解析为结束:

var ending = url.slice(url.lastIndexOf('/'));