首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery removeClass通配符

jQuery removeClass通配符
EN

Stack Overflow用户
提问于 2010-04-15 18:01:31
回答 18查看 162.4K关注 0票数 397

有没有什么简单的方法可以删除所有匹配的类,例如,

代码语言:javascript
运行
复制
color-*

所以如果我有一个元素:

代码语言:javascript
运行
复制
<div id="hello" class="color-red color-brown foo bar"></div>

删除后,它将是

代码语言:javascript
运行
复制
<div id="hello" class="foo bar"></div>

谢谢!

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2011-03-03 22:35:44

jQuery 1.4开始,removeClass函数接受一个函数参数。

代码语言:javascript
运行
复制
$("#hello").removeClass (function (index, className) {
    return (className.match (/(^|\s)color-\S+/g) || []).join(' ');
});

现场示例:http://jsfiddle.net/xa9xS/1409/

票数 722
EN

Stack Overflow用户

发布于 2010-04-15 18:13:24

代码语言:javascript
运行
复制
$('div').attr('class', function(i, c){
    return c.replace(/(^|\s)color-\S+/g, '');
});
票数 102
EN

Stack Overflow用户

发布于 2011-12-30 22:04:22

我已经写了一个插件,叫做alterClass --使用通配符匹配删除元素类。可选地添加类:https://gist.github.com/1517285

代码语言:javascript
运行
复制
$( '#foo' ).alterClass( 'foo-* bar-*', 'foobar' )
票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2644299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档