Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我有几个带有
当我单击一个按钮时,当前处于活动状态的班级将失去应有的状态。但是被点击的人没有上课。
我使用Chrome调试器传递了脚本,并且可以正常工作。当代码退出脚本时,它只会丢失类。有任何想法吗?
[解决方案] @musefan
按钮是背景中的
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
2年前关闭。
我有几个带有
mybtn
类的按钮。我需要在被单击的类上设置一个类mybtn-active
,并将其从当前具有该类的类中删除。$('.mybtn').on('click', function () {
$('.mybtn-active').removeClass('mybtn-active');
$(this).addClass('mybtn-active');
});
当我单击一个按钮时,当前处于活动状态的班级将失去应有的状态。但是被点击的人没有上课。
我使用Chrome调试器传递了脚本,并且可以正常工作。当代码退出脚本时,它只会丢失类。有任何想法吗?
[解决方案] @musefan
按钮是背景中的
<a>
标记,我没有想到,因为这是我继承的代码,我没有编写HTML。这就是问题所在。请参阅已接受的答案。 最佳答案
假设条件
我将在这里进行一场大规模的赌博,但这是我唯一能想到的事情,它可以解释OP所描述的内容以及该代码可能实际发生的情况。我们将需要OP提供HTML来验证我的假设。
我还假设示例代码中的类选择器是问题的错字,而不是原始代码中的问题(因为OP明确表示删除类工作正常)。
此后,OP在有关此答案和其他答案的评论中证实了我的假设。
问题
我希望您的问题是您使用的是a
元素,并且单击实际上是在重新加载页面,或者使用的按钮也具有相同的效果,从而导致所有类都恢复为默认值。
解
您可以通过使用click事件的参数来解决此问题,如下所示:
$('.mybtn').on('click', function (e) {
e.preventDefault(); // This prevent the hyperlink from reloading the page.
$('.mybtn-active').removeClass('mybtn-active');
$(this).addClass('mybtn-active');
});
关于javascript - jQuery失去添加的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48784154/
10-13 09:31