javascript - 在悬停时向 li 添加类,但从所有其他类中删除

标签 javascript jquery css hover mouseenter

我需要在悬停时向 li 添加一个类,但从列表中的所有其他 li 中删除相同的类(这是用于导航)。

我目前的代码是:

jQuery(".navcontent").on('mouseenter', 'li', function() {
    if (jQuery('.childmenu', this)) {
        jQuery('.childmenu', this).addClass("child-active");
    } else {
        jQuery('.navcontent li .childmenu').removeClass("child-active");
    }
});

我不太明白我需要做什么...

如有任何帮助,我们将不胜感激。

最佳答案

您有其他方法可以做到这一点:

  1. 首先删除所有元素的类并添加一个你想要的:
    jQuery(".navcontent li").on('mouseenter', function() {
        jQuery('.childmenu').removeClass("child-active");
        jQuery('.childmenu', this).addClass("child-active");
    });
  1. 如果他们是 sibling ,你可以使用siblings:
    jQuery(".navcontent li").on('mouseenter', function() {
        jQuery('.childmenu', this).addClass("child-active")
          .siblings('.childmenu').removeClass("child-active");
    });

关于javascript - 在悬停时向 li 添加类,但从所有其他类中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31606079/

相关文章:

javascript - 如何查找方括号之间的字符串并将其包装在 CSS 类中

css - 为什么在我的 TextArea 的第一行之前有一些填充?

javascript - 获取元素宽度跳出 while 循环

javascript - 过滤 getFeatureInfo 结果(传单 wms 插件)

javascript - jQuery - e.preventDefault 难题/阻止默认后无法提交表单

jquery - 多次setTimeout

javascript - 在 JavaScript/jQuery 中,是否可以在滚动时跟踪页面上多个 HTML 元素的可见性?

html - 使用固定宽度的列在 CSS 网格中居中

javascript - 参数 'ContactsCtrl' 不是函数,未定义

javascript - Bootstrap 模态 - 通过单击第二个关闭第一个