在点击时将href与window.location.hash进行比较,添加类

时间:2018-01-05 20:30:58

标签: jquery

我尝试编写一个脚本,将点击的href内的li值与window.location.hash进行比较,如果匹配,则为点击的{{添加一个类1}}。换句话说,我设计了一个活跃的导航部分。它几乎有效 - 如果lihref匹配,它只会在第二次点击window.location.hash时添加该类。我认为这是一个事件问题。我尝试添加超时,但这没有用。

这就是我现在所拥有的:

li

HTML结构:

$('#left-nav > ul > li').on('click', function() {
  if ($(this).find('.left-nav-link').attr('href') == window.location.hash) {
    $('#left-nav > ul > li').removeClass('active');
    $(this).addClass('active');
  }
});

1 个答案:

答案 0 :(得分:3)

似乎过于复杂。您不需要if(),因为您已经知道点击了哪个元素

$('#left-nav > ul > li').on('click', function() {
    $(this).addClass('active').siblings().removeClass('active');   
});