jQuery – regexp选择和removeClass()?

前端之家收集整理的这篇文章主要介绍了jQuery – regexp选择和removeClass()?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经获得了几个数千行的自动生成HTML文档,我需要清理源代码.大多数情况下需要删除类似“table-col – ##”的类名.这是一个两步问题:

>选择具有table-col – ##的任何和所有类,其中##是0-999之间的整数
>从元素中删除匹配的类,而不删除任何其他类

所以它归结为:如果可能的话,我需要一种方法在$()选择器中使用regexp,然后在每个()中获取所选类 – 或者将regexp应用于$.removeClass().谁能指出我正确的方向?

更新:是否有任何类型的$.removeClass([selected])功能?这似乎是解决第二部分的最简单方法.

解决方法

如果只有数字是可以接受的,但也可以有其他字符,我会从这样的东西开始(未经测试,但在评论的帮助下编辑):
$("[class^='table-col-']").removeClass( function() { /* Matches even table-col-row */
     var toReturn = '',classes = this.className.split(' ');
     for(var i = 0; i < classes.length; i++ ) {
         if( /table-col-\d{1,3}/.test( classes[i] ) ) { /* Filters */
             toReturn += classes[i] +' ';
         }
     }
     return toReturn ; /* Returns all classes to be removed */
});

猜你在找的jQuery相关文章