我有一个类mybtn
的几个按钮。我需要在单击的那个上设置一个类mybtn-active
,然后将其从当前具有它的那个中删除。
$('.mybtn').on('click', function () {
$('.mybtn-active').removeClass('mybtn-active');
$(this).addClass('mybtn-active');
});
当我点击一个按钮时,当前活动就会丢失它的类,就像它应该的那样。但是点击的人没有上课。
我通过Chrome调试器传递了脚本,它可以运行。当代码退出脚本时,它就失去了类。有什么想法吗?
@musefan [解决方案]
这些按钮在后台是<a>
标签,我没有想到,因为这是我继承的代码,我没有写HTML。这就是问题所在。请参阅接受的答案。
答案 0 :(得分:1)
你错过了
在第二行的选择器中。
应该是
$('.mybtn-active').removeClass('mybtn-active');
答案 1 :(得分:1)
正如我在评论中提到的那样,这是错误的错误。您必须将$('mybtn-active')
更改为$('.mybtn-active')
。看一下片段。
$('.mybtn').on('click', function () {
$('.mybtn-active').removeClass('mybtn-active');
$(this).addClass('mybtn-active');
});
&#13;
.mybtn-active {
font-size:25px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="mybtn">Button1</button>
<button class="mybtn">Button2</button>
<button class="mybtn">Button3</button>
<button class="mybtn">Button4</button>
&#13;
答案 2 :(得分:1)
<强>假设强>
我将在这里进行大规模的赌博,但这是我能想到的唯一可以解释OP正在描述的内容,并且可能实际发生在该代码中。我们需要OP提供HTML来验证我的假设。
我还假设示例代码中的类选择器是问题的拼写错误,并且在原始代码中不是问题(因为OP明确指出删除类正常工作)。
我的假设已经由OP对此答案及其他答案的评论进行了验证。
<强>问题强>
我希望您的问题是您使用的是options("scipen"=100, "digits"=4)
元素,而您的点击是 实际重新加载页面 ,或者使用的按钮也是相同的效果,从而导致所有类恢复为默认值。
<强>解决方案强>
您可以通过使用click事件的参数来解决此问题,如下所示:
a