javascript - 如何在 jQuery 中删除以前的事件类

标签 javascript jquery

我制作了一个列表,当我单击它时,列表中会切换类active,但当我单击不同的元素时,以前的元素仍然包含active

<ul>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
    <li class="click_me">Here </li>
</ul>

$(document).ready(function()
{
    $('.click_me').click(function()
    {
        $.each(function()
        {
            $('.click_me').toggleClass('active');
        });
        $(this).toggleClass('active');
    });
});

<style>
.active
{
    background-color: red;
}
</style>

我想要的是,当我点击不同的 li 元素时,之前的 liactive 类必须被切换出来。抱歉英语不好! 我尝试添加每个循环,但没有成功。

最佳答案

要使其正常工作,您只需从任何已拥有该类的元素中删除 .active 类(不包括应切换的当前元素)。试试这个:

$('.click_me').click(function() {
  $('.active').not(this).removeClass('active');
  $(this).toggleClass('active');
});
.active {
  background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="click_me">Here</li>
  <li class="click_me">Here</li>
  <li class="click_me">Here</li>
  <li class="click_me">Here</li>
</ul>

关于javascript - 如何在 jQuery 中删除以前的事件类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41725012/

相关文章:

javascript - 单击触发器内的元素时如何防止 Bootstrap Modal 打开?

javascript - 扩展 jQuery UI Accordion 后,谷歌地图不再以其他 map 为中心

javascript - jQuery 选择值始终为 0

javascript - Slick.js 删除图像周围的蓝色突出显示

javascript - 根据我使用 javascript/JQuery 单击的位置更改 HTML

javascript - 自动触发 lightbox_me 关闭

javascript - 只显示一个段落......不管是否有更多,空白,空白,类......只有并且只有CSS

javascript - 函数式 JavaScript : Closure & Recursion. 为什么会失败?

javascript - 链接的正则表达式

javascript - 防止触摸时出现超链接并显示悬停状态