将类添加到以前具有活动类的div

时间:2015-05-04 09:53:49

标签: javascript jquery html css

如何将class="demo"添加到

<div class="single-step active">

之前有class="active"

单击带有id="sf-next"

的下一个按钮

这是demo

这是我到目前为止所使用的。

$("#sf-next").click(function() {
     $(".active").addClass("done");
});

但是当我点击下一步时,class="active"移动到第二个div,class="done"也是如此。

但事实并非如此。应将Class="done"添加到以前具有class="active"

的div中

4 个答案:

答案 0 :(得分:1)

如果它真的是下一个按钮,你可以将新类而不是实际的“活动”应用于上一个活动

self.reloadData()

否则你必须找到活动类改变的点并在此之前执行你的onclick函数。

答案 1 :(得分:0)

它退出了简单的伙伴。只需给div一个像myDivId的id。然后创建一个像bellow一样的函数:

function myfunction(){document.getElementById("myDivId").setAttribute("class","demo");}

接下来你要做的就是在按钮上添加onclick=myfunction()。像那样简单

答案 2 :(得分:0)

现在这将发生,因为还有一些其他的javascript正在添加活跃的类。所以你要做的就是两件事中的任何一件 1)修改添加活动类的相同方法,将其添加到同一个元素,而不是对下一个元素进行操作,同时添加完成的类。

2)在调用该方法之前,添加类&#39;完成&#39;上课&#39;活跃&#39;并且在该方法被称为add&#39; active&#39;完成&#39;。


如果您可以添加添加活动的方法,我将能够为您提供更好的帮助。

答案 3 :(得分:0)

我无法调试您的HTML。 但可能的解决方案是:

1.将要添加的div作为按钮的父级,然后使用

$("#sf-next").click(function() {
 $(this).parent().addClass("done");
});

2。或者,如果您将button和div放在同一个父div中,请使用:

$("#sf-next").click(function() {
   $(this).parent().find('.active').addClass("done");   
});

在这两种情况下,我都得到了div的当前对象。希望你明白我的意思。快乐的编码。