Javascript 双按钮开关

Javascript 双按钮开关,javascript,jquery,Javascript,Jquery,我知道可能有人问了数十亿次,但我找不到任何解决办法。这是我的代码: .btn{ 宽度:200px; 高度:45px; } -选定{ 背景色:红色; } 联合国组织 磁盘操作系统 你可以试试和 请注意:-所选不是有效的类名。双破折号-用于注释CSS中的代码。虽然您可以使用类似于单个、三个连续破折号的破折号,但最好避免使用这些命名模式 $'.btn'。单击函数{ $'.selected'.removeClass'selected'; $this.toggleClass'selected'; };

我知道可能有人问了数十亿次,但我找不到任何解决办法。这是我的代码:

.btn{ 宽度:200px; 高度:45px; } -选定{ 背景色:红色; } 联合国组织 磁盘操作系统 你可以试试和

请注意:-所选不是有效的类名。双破折号-用于注释CSS中的代码。虽然您可以使用类似于单个、三个连续破折号的破折号,但最好避免使用这些命名模式

$'.btn'。单击函数{ $'.selected'.removeClass'selected'; $this.toggleClass'selected'; }; .btn{ 宽度:200px; 高度:45px; } .选定{ 背景色:红色; } 联合国组织 磁盘操作系统
这会将该类添加到单击的按钮中,并使用类btn从所有其他元素中删除该类

我稍微修改了类名,使之成为一个有效的css类名

$'.btn'。单击,函数{ $this.addClass'selected'; $'.btn'.notthis.removeClass'selected'; }; .btn{ 宽度:200px; 高度:45px; } .选定{ 背景色:红色; } 联合国组织 磁盘操作系统 简单:

$('.btn').click(function() {
    $('.btn').removeClass('--selected');
    $(this).addClass('--selected');
});

使用香草Javascript和ES6(如下所示)可以轻松完成此操作,无需添加额外的库:

const btns=Array.fromdocument.querySelectorAll.btn'; const-toggleClass=e=>{ 用于BTN的var el{ el.classList.remove'-selected' } e、 currentTarget.classList.add'-selected' } 用于BTN的var el{ el.addEventListener'click',toggleClass } .btn{ 宽度:200px; 高度:45px; } -选定{ 背景色:红色; } 联合国组织 磁盘操作系统
,也可以检查toggleClassI我不确定为什么要从问题中删除jQuery代码?通过这样做,AddClass添加、removeClass删除和切换Class切换,情况变得更糟。您可以在文档中找到这些内容。我认为-selected不是有效的类名。请参见,是否可以通过执行$'.selected'.removeClass'selected'来消除循环?它可能会更有效率一些。。。