javascript - JavaScript - 删除/添加按钮类
问题描述
我有一个带有多个按钮的导航窗格(在本例中简化为两个)
- 按钮 1(按钮类别 = 次要)
- 按钮 2(按钮类别 = 次要)
单击其中一个按钮时,我需要单击按钮以转到主要按钮类,而其他按钮则转到次要按钮。我目前这样做的方式很长而且很复杂,我希望有人能够让它更加无缝。
我的方法
function toggleButton1on(){
$("#Button 1").removeClass("btn btn-space btn-secondary");
$("#Button 2").removeClass("btn btn-space btn-secondary");
$("#Button 1").removeClass("btn btn-space btn-primary");
$("#Button 2").removeClass("btn btn-space btn-primary");
$("#Button 1").addClass("btn btn-space btn-primary");
$("#Button 2").addClass("btn btn-space btn-secondary");
}
function toggleButton2on(){
$("#Button 1").removeClass("btn btn-space btn-secondary");
$("#Button 2").removeClass("btn btn-space btn-secondary");
$("#Button 1").removeClass("btn btn-space btn-primary");
$("#Button 2").removeClass("btn btn-space btn-primary");
$("#Button 2").addClass("btn btn-space btn-secondary");
$("#Button 1").addClass("btn btn-space btn-secondary");
}
解决方案
一旦你修复了选择器问题,听起来你真正需要做的就是切换btn-secondary
和btn-primary
类,忽略其余的:
function toggleButton1On(){
$("#button1").removeClass("btn-secondary").addClass('btn-primary');
$("#button2").removeClass("btn-primary").addClass('btn-secondary');
}
但是,如果可能的话,在需要时将默认样式应用于按钮(例如,而不是btn-secondary
类), and then simply toggle *on* the
btn-primary` 类会更有意义:
function toggleButton1On(){
$("#button1").addClass('btn-primary');
$("#button2").removeClass("btn-primary");
}
或者,更一般地说:
const $btns = $('btn');
$btns.on('click', function() {
$btns.removeClass('btn-primary');
$(this).addClass('btn-primary');
});
推荐阅读
- systemd - 使用自定义 Systemd 服务在启动时执行珊瑚板演示模型
- wordpress - 可视化编辑器是我的 Wordpress 登台的银行
- python - 创建 Python 3/Pygame “按任意键继续”起始页
- html - HTML(视频悬停(Div)/按钮)
- typescript - 错误:{"message":"sqlite3_prepare_v2 失败:无法识别的令牌:\"876EL003\"","code":5}
- javascript - 如何使用 socket.io 与前端通信?
- python - 如何在熊猫中获得连续滚动平均值?
- php - 在 Windows Server 2016 + Apache / MySQL 上部署应用程序的安全方式
- function - 在 Flutter/Dart 中,有什么方法可以直接调用作为可选参数传递的函数,同时还可以防止空值错误?
- sql - 红移四舍五入问题