javascript - 如何在 LI 导航菜单中使用 javascript 添加事件类

标签 javascript jquery html css

我无法在我点击的 LI 导航菜单中添加事件类。

当我在 主页 上单击 WHAT WE DO 时,它跳转到 what we do 页面 所以我需要菜单 WHAT WE DO我们做什么页面 中激活。

这是我的 JSFIDDLE

JS

$( document ).ready(function() {        
  $( "#cssmenu a" ).click(function(e) {
  e.preventDefault();
  var navId = $(this).attr("href");
  var str = '.' + $(this).attr('id');
    $("html, body").animate({
      scrollTop: $(navId).offset().top
    }, 600);

    $(str).show();
    $(this).closest('ul').find('li').removeClass("active");
    $(str).find('li').removeClass("active");
    $(str).closest('ul').find('li').addClass("active");
  });
});

最佳答案

您对多个元素使用相同的 ID。请删除它并为不同的元素使用不同的 ID。

您可以使用以下 jQuery 添加事件类:

$(str).find('[href="'+navId+'"]').closest('li').addClass("active");

代替

 $(str).closest('ul').find('li').addClass("active");

Working JSFiddle

注意:由于active class 的字体颜色为白色,因此在将active class 添加到li 后它是不可见的。

关于javascript - 如何在 LI 导航菜单中使用 javascript 添加事件类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24299005/

相关文章:

python - 如何遍历请求对象并按特定的 html 标记进行过滤

javascript - 是否可以将字体图标转换回其私有(private)使用代码?

使用私钥的Javascript RSA解密

javascript - 如何在 iframe 上实现圆 Angular

javascript - vue条件显示

jquery - 清除 CSS :after declaration with jquery

javascript - 如何防止将焦点放在 div 上的任何按钮、输入等上?

javascript - html webview android 中的 Cookie

javascript - 获取dom中的元素

javascript - Facebook appMobi 在没有明显错误的情况下进行调试