点击切换Div类名功能失效,附代码请求技术协助
问题解决:自定义按钮点击切换类名失效
我来帮你分析下问题所在,并且给出修复后的代码~
首先看你原代码里的几个关键问题:
- 类名语法错误:
addClass('.btn-custom-primary')这里多了个开头的点(.),jQuery的addClass()方法接受的类名不需要带点,你这样写会把.btn-custom-primary当成一个完整的类名添加,这显然不是你想要的效果。 - 逻辑不符合需求:你原本的代码只是给所有按钮重复添加已经存在的
btn-custom-primary类,然后给当前点击的按钮追加btn-custom-selected类——这样点击后的按钮会同时拥有两个类,而不是替换成选中状态,同时也没有重置之前被选中的按钮样式。
修复后的代码
$(document).ready(function() { $('.btn-custom').click(function() { // 第一步:重置所有按钮的样式,恢复默认的primary类,移除选中类 $('.btn-custom').removeClass('btn-custom-selected').addClass('btn-custom-primary'); // 第二步:修改当前点击按钮的样式,移除默认类,添加选中类 $(this).removeClass('btn-custom-primary').addClass('btn-custom-selected'); }); });
代码解释
- 当点击任意一个
.btn-custom按钮时,先对所有同类型按钮做重置操作:移除btn-custom-selected类(避免之前选中的按钮保持高亮),确保它们都有btn-custom-primary类,回到默认样式。 - 然后单独处理当前点击的按钮:移除默认的
btn-custom-primary类,添加btn-custom-selected类,实现选中样式的切换。
这样就能完美实现你想要的效果:点击的按钮切换为选中类名,其余按钮保持原有的btn-custom-primary类名。
内容的提问来源于stack exchange,提问作者Nida Amin
相关产品推荐
相关产品推荐

