我的Html
<div onclick="change()" class="button">ELEMENT 1</div>
<div onclick="change()" class="button">ELEMENT 2</div>
<div onclick="change()" class="button">ELEMENT 3</div>
我的Css
.button {
background-color: #fff;
color:#000;
}
.buttonactive {
background-color: #000;
color:#fff;
}
我的jQuery
function change() {
$(this).addClass("buttonactive");
}
我想将当前按钮更改为类buttonactive ...
答案 0 :(得分:3)
将按钮更改为(删除内联事件处理程序):
<div class="button">ELEMENT 2</div>
jQuery:
$('div.button').click(function(){
$(this).addClass("buttonactive");
})
<强> jsFiddle example 强>
答案 1 :(得分:2)
您也可以使用jQuery,将click事件绑定到按钮,并将buttonactive
类添加到单击的按钮。从所有div中删除onchange
来电。
$(function(){
$('.button').click(function(){
//remove class from previously active button
$('.buttonactive').removeClass('buttonactive');
$(this).addClass('buttonactive');
});
});
答案 2 :(得分:1)
尝试将this
作为参数传递给内联犯罪者,
HTML
<div onclick="change(this)" class="button">ELEMENT 1</div>
<div onclick="change(this)" class="button">ELEMENT 2</div>
<div onclick="change(this)" class="button">ELEMENT 3</div>
JS
function change(_this) {
$(_this).addClass("buttonactive");
}
答案 3 :(得分:0)
您的CSS错误。 CSS正在层叠! 你的结构不稳定。使用这个css:
.button {
background-color: #fff;
color:#000;
}
.button.buttonactive {
background-color: #000;
color:#fff;
}
另外:考虑将课程buttonactive
仅重命名为active