Jquery 在菜单中添加活动类

Jquery 在菜单中添加活动类,jquery,menu,Jquery,Menu,我通过jQuery在nav>ul>li中添加class=“active”以更改背景颜色。当href=“#”时,它会工作。但当我在href=“example.php”之间添加链接时,它会转到页面。但活动课堂不起作用,背景也不能显示我的位置 是否有可能通过jQuery链接工作和背景更改来显示我现在是哪个页面,或者它们在WP中是如何工作的 $(document).ready(function(){ $(".menu").on('click','li', function(){ $(".menu

我通过jQuery在nav>ul>li中添加class=“active”以更改背景颜色。当href=“#”时,它会工作。但当我在href=“example.php”之间添加链接时,它会转到页面。但活动课堂不起作用,背景也不能显示我的位置

是否有可能通过jQuery链接工作和背景更改来显示我现在是哪个页面,或者它们在WP中是如何工作的

$(document).ready(function(){
$(".menu").on('click','li', function(){
    $(".menu .active").removeClass('active');
    $(this).addClass('active');

} );
})


是的,更改页面时有点棘手-您需要一种方法将单击的标识符发送到新页面。大多数情况下,我们可以使用一点jQuery来实现这一点。(jQuery将中断默认的

如果页面href不是
#
链接,您可以尝试检查页面href是否与您的链接完全匹配

$(文档).ready(函数(){
var$links=$('.menu-li-a');
$links.closest('.active').removeClass('active');
$links.filter(函数(){
返回this.href==window.location.href;
}).最近的('li')。addClass('active');
});
.active a{color:red}


您的类很可能会被应用,但随后页面导航会将您的样式保留在上一页上。您可以在页面加载时检查url,并使用匹配的href检查任何。menu>li>a并重新应用样式。感谢您的回复。我是初学者,我将尝试这种方法。
<ul class="menu">
    <li class="active"><a href="index.php">Home</a></li>
    <li><a href="bestdeal.php">Best Deal</a></li>
    <li><a href="#">Shop</a>
        <ul>
            <li><a href="#">Sub menu</a></li>
            <li><a href="#">Sub menu</a></li>
        </ul>
    </li>
    <li><a href="#">About Us</a>
        <ul>
            <li><a href="#">Sub menu</a></li>
            <li><a href="#">Sub menu</a></li>
        </ul>
    </li>
    <li><a href="#">Contact Us</a></li>
</ul>