javascript - 删除除一类以外的所有类

标签 javascript jquery class addclass removeclass

好吧,我知道通过一些 jQuery 操作,我们可以向特定的 div 添加很多类:

<div class="cleanstate"></div>

假设通过一些点击和其他操作,div 获得了很多类

<div class="cleanstate bgred paddingleft allcaptions ..."></div>

那么,我如何才能删除除一个之外的所有类?我想出的唯一想法是:

$('#container div.cleanstate').removeClass().addClass('cleanstate');

虽然 removeClass() 杀死了所有类,但 div 搞砸了,但在 addClass('cleanstate') 之后添加它会恢复正常。另一种解决方案是将 ID 属性与基本 CSS 属性放在一起,这样它们就不会被删除,这也提高了性能,但我只想知道另一种解决方案来摆脱除“.cleanstate”之外的所有内容

我问这个是因为在真实的脚本中,div 经历了类的各种变化。

最佳答案

无需分两步完成,您可以使用 attr 通过用您想要的类覆盖所有类值来一次重置整个值:

jQuery('#container div.cleanstate').attr('class', 'cleanstate');

样本:http://jsfiddle.net/jtmKK/1/

关于javascript - 删除除一类以外的所有类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5363289/

相关文章:

jquery - 如何为移动应用程序创建可滚动的照片流

c++ - 如何将私有(private)成员的对象传递给另一个类的方法?

c++ - 使用声明的类或枚举

java - 将 ArrayList 传递给另一个类

javascript - 将函数分配给动态添加的 HTML

javascript - 使 inputfield 在 button-div 内的任何地方都可以点击

javascript - Angular ui-router 根据路由参数渲染不同的组件

javascript - 选择后更改选择选项显示的文本但在更改选择时返回

javascript - 如何为单独的 webpack 服务器/客户端配置正确覆盖 babel@7 插件

javascript - 为什么这个线性颜色渐变不移动?尝试对渐变中颜色停止的位置进行动画处理