javascript - jquery 只允许一个元素上的一组类中的一个?

标签 javascript jquery css

我有一个元素,它使用 jQuery 动态地添加和删除了一些类。我想确保在给定时间我在元素上只有一组类中的一个。

例如,我可以拥有定义字体颜色、背景颜色、边框颜色等的 .blue_element 类,但我不希望它与 .red_element 类或 . yellow_element 类,但我不介意它与 .small_element 类或 .big_element 类同时打开。

当前方法:

$('#target_element').removeClass('yellow_element').removeClass('red_element').addClass('blue_element')

这工作正常,但似乎会产生错误风险,例如如果我添加了一个 .purple_element 类但忘记修改我的删除代码。

与我的示例相比,我在更大范围内执行此操作,并且可能会非常频繁地添加和删除类,因此如果我这样做的话,我预计会犯一些愚蠢的错误。有没有更有效的方法来做到这一点?

最佳答案

不要使用 jQuery,而是使用原生方法

document.getElementById("target_element").className = 'blue_element';

以上代码将删除所有类并仅保留/添加“blue_element”;

关于javascript - jquery 只允许一个元素上的一组类中的一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30990664/

相关文章:

javascript - Jquery 条件不起作用

javascript - 如何使用foreach循环在mysql表中插入一个静态值和多个动态值?

javascript - 遍历后的JQuery不监听点击

php - 如何在 PHP 中使用 getElementById

javascript - 如何使用 CSS/JavaScript 对 Angular 线组合两个图像?

javascript - 如何仅更改粗体标签后的文本?

javascript - 展开/折叠将 div 向下推到页面下方的 div

javascript - 如何成功显示和隐藏一段文字?

javascript - Js - 理解时间和冲突属性

javascript - 如何在 Angular 中使用 webmethod 单击输入按钮时保持绑定(bind)