[英]Change class group of buttons
我有三个按钮,每个按钮都有一个CSS类。 在其中之一单击时,我想删除该类并仅为clicked元素添加一个新的CSS类。 此外,我需要按住选择的按钮。 我搜索了一些示例,发现可以执行以下操作:
$(".class").removeClass("choice").addClass("active");
这适用于所有按钮,但不仅适用于一个按钮。 我试图改变这个
$(this).removeClass("choice").addClass("active");
但这没用。
我为更多的解释而摆弄: https ://jsfiddle.net/90u6b3tj/3/
编辑当我第二次按下时,我需要相同的行为
很抱歉出现基本问题。
提前致谢
问候
我已经为您的jsfiddle更新了一个可行的解决方案:
https://jsfiddle.net/90u6b3tj/10/
这是JavaScript部分:
$(function() {
$("button").click(function(e) {
e.preventDefault();
$(this).toggleClass("active");
});
});
在添加点击事件时,如下所示:-
<button id="hourly" class="choice" onclick="change()">Orario</button>
您可以使用event.target
function change(){
event.preventDefault();
$(event.target).removeClass("choice").addClass("active");
}
或者,改变你的活动,并通过在this
: -
<button id="hourly" class="choice" onclick="change(this)">Orario</button>
所以你可以做:-
function change(element){
event.preventDefault();
$(element).removeClass("choice").addClass("active");
}
还是更好:-
$('.choice').click(function(e){
e.preventDefault();
$(this).removeClass("choice").addClass("active");
});
并删除嵌入式点击事件。
您可以改用以下代码。
$(".class").click(function(){
$(".class").addClass("choice");
$(".class").removeClass("active");
$(this).removeClass("choice").addClass("active");
});
在这里,“ 选择 ”类仅从单击的类中删除。 不是来自其他人。 还将“ 活动 ”类添加到单击的类中。
您可以在button
标记中使用change(this)
并在change()
函数中引用该元素,如该小提琴所示。
function change(event){ event.preventDefault(); //$(".choice").removeClass("choice").addClass("active"); $(event.target).removeClass("choice").addClass("active"); }
<div> <button id="hourly" class="choice" onclick="change(event)">Orario</button> </div> <div> <button id="daily" class="choice" onclick="change(event)">Giornaliero</button> </div> <div> <button id="monthly" class="choice" onclick="change(event)">Mensile</button> </div>
是否应该这样选择一个以上的项目作为活动项目? 如果没有,请检查以下内容:
标记
<div>
<button id="hourly" class="choice">Orario</button>
</div>
<div>
<button id="daily" class="choice">Giornaliero</button>
</div>
<div>
<button id="monthly" class="choice">Mensile</button>
</div>
CSS
.active {
background-color: #A60076;
color: #FF0000;
}
.choice {
background-color: #000000;
color: #FFFFFF;
}
JS
$(document).ready(function() {
$('button').click(function(e) {
$("button").addClass('choice').removeClass('active');
$(this).removeClass('choice').addClass('active');
});
});
这是上面的代码正常工作的示例小提琴 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.