Jquery从所有元素中删除活动类的每个函数

Jquery从所有元素中删除活动类的每个函数,jquery,Jquery,我有4个块,我正在运行一个每个函数,以便在单击时切换活动类,但我似乎无法确定如何针对我正在单击的特定块。它将删除所有元素上的活动类 这是我目前的代码 <div class="col-md-3"> <div class="dashboard__block"> <div class="dashboard__title"> <b>Number Of Orders</b> | Total: 1000

我有4个块,我正在运行一个
每个
函数,以便在单击时切换活动类,但我似乎无法确定如何针对我正在单击的特定块。它将删除所有元素上的
活动

这是我目前的代码

<div class="col-md-3">
  <div class="dashboard__block">
    <div class="dashboard__title">
      <b>Number Of Orders</b>
      | Total: 1000
    </div>
    <div class="dashboard__date">
      <a class="black-link previous">Yesterday</a>
      <a class="black-link current active">Today</a>
    </div>
    <div class="dashboard__data">
      200
    </div>
  </div>
</div>

<div class="col-md-3">
  <div class="dashboard__block">
    <div class="dashboard__title">
      <b>Number Of Orders</b>
      | Total: 1000
    </div>
    <div class="dashboard__date">
      <a class="black-link previous">Yesterday</a>
      <a class="black-link current active">Today</a>
    </div>
    <div class="dashboard__data">
      200
    </div>
  </div>
</div>

<div class="col-md-3">
  <div class="dashboard__block">
    <div class="dashboard__title">
      <b>Number Of Orders</b>
      | Total: 1000
    </div>
    <div class="dashboard__date">
      <a class="black-link previous">Yesterday</a>
      <a class="black-link current active">Today</a>
    </div>
    <div class="dashboard__data">
      200
    </div>
  </div>
</div>

<div class="col-md-3">
  <div class="dashboard__block">
    <div class="dashboard__title">
      <b>Number Of Orders</b>
      | Total: 1000
    </div>
    <div class="dashboard__date">
      <a class="black-link previous">Yesterday</a>
      <a class="black-link current active">Today</a>
    </div>
    <div class="dashboard__data">
      200
    </div>
  </div>
</div>

您需要在父元素上下文中
removeClass()
,可以使用/


此外,您不需要
.each()
来绑定事件处理程序您需要在父元素上下文中
移除类()
,可以使用/


此外,您不需要
.each()
来绑定事件处理程序循环是您的问题

移除循环并捕获onclick事件

因此:

$(document).on("click", ".dashboard_block a", function() {
    (".dashboard_block a").removeClass("active"):
    $(this).addClass("active")
    });
也有可能是这样做的

$(".dashboard_block a:not(this)").removeClass("active")

在onclick事件中,如果单击的元素已经有一个活动类,那么循环就是您的问题

移除循环并捕获onclick事件

因此:

$(document).on("click", ".dashboard_block a", function() {
    (".dashboard_block a").removeClass("active"):
    $(this).addClass("active")
    });
也有可能是这样做的

$(".dashboard_block a:not(this)").removeClass("active")

在onclick事件中,如果单击的元素已经有一个活动类,则父级比最近的快,但只选择上面的一个

$('.dashboard__block').each(function(i, obj) {
      $(this).find("a").click(function() {
        // remove classes from all
        $(this).parent("div").find("a").removeClass("active");
        // add class to the one we clicked
        $(this).addClass("active");
      });
    });
https://jsfiddle.net/Qh0stM4N/rss9ercz/

父级比最近的快,但只选择上面的一个

$('.dashboard__block').each(function(i, obj) {
      $(this).find("a").click(function() {
        // remove classes from all
        $(this).parent("div").find("a").removeClass("active");
        // add class to the one we clicked
        $(this).addClass("active");
      });
    });
https://jsfiddle.net/Qh0stM4N/rss9ercz/

您可以访问同级

您可以访问同级