我有一个没有类的div列表,当他们被点击时他们得到'active'类但是当我点击列表中的第二个div我希望任何其他div使用active类来放弃类活跃的。
HTML: -
<div id="div1" onclick="classchanger(this); return false;"><p>first item</p></div>
<div id="div2" onclick="classchanger(this); return false;"><p>second item</p></div>
<div id="div3" onclick="classchanger(this); return false;"><p>third item</p></div>
单击div时添加类的Jquery: -
function classchanger(e) {
$(e).addClass( "active" );
};
但是如果点击不同的div,我需要删除这个类,例如: - (我试图实现的代码示例。)
function classchanger(e) {
if(any div == class of active){
the divs with a class of active .removeClass( "active" )
}
$(e).addClass( "active" );
};
对这种或替代方法的任何想法我都会非常感激。
答案 0 :(得分:3)
您应该将classchanger
功能更改为
function classchanger(e) {
$("#container").find(".active").removeClass("active");
$(e).addClass( "active" );
};
选择器选择“active”类的所有元素,并从中删除类。然后,您只需将该类添加到您单击的元素中。
答案 1 :(得分:-2)
HTML
<div id="div1" class="item"><p>first item</p></div>
<div id="div2" class="item"><p>second item</p></div>
<div id="div3" class="item"><p>third item</p></div>
JS(jquery)
$(".item").on("click",function() {
$(".item").each(function() { $(this).removeClass("active"); });
$(this).addClass("active");
});