原生单选按钮样式更改遇到的问题

首先说明,这个单选按钮样式更改用到了elementUI的样式,项目引入element的样式包后,直接在相应的标签上加element定义好的class名,具体如何改的这里不作赘述(照着源码写就可以)。

重点是遇到的问题:elementUI的单选按钮在选中后会加一个class名is-checked,这个class名决定了选中的样式,如下:
在这里插入图片描述
自然而然想到在js中给单选按钮绑定点击事件,用addClass方法(项目用到的是jQuery),
改进的话,用了toggleClass(‘is-checked’)方法(当前class名有‘is-checked’时就删去,没有时就加上)

但显然,写了这句代码后,会出现一组单选按钮可以选中多个(即没有实现单选效果

那么怎么真正实现单选效果
toggleClass(‘is-checked’)前,找到除当前选中外的其他选项,removeClass删去这些选项的’is-checked’;

只是这样做的话又会有新问题:只点击一个单选按钮可以选中,也可以不选中,还是不符合单选的效果

解决方法:toggleClass(‘is-checked’)外包一层判断,只有选中的选项没有’is-checked’这个class名时,才去toggleClass,这样一旦选中,再次点击仍然是选中状态

以上,问题终于解决~~,js代码如下
在这里插入图片描述
PS:一定要能熟练掌握获取父元素、子元素、兄弟元素的DOM操作(不同框架方法名不同,但操作大同小异)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值