javascript – jQuery获取某些类但不获取其他类

前端之家收集整理的这篇文章主要介绍了javascript – jQuery获取某些类但不获取其他类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个看起来像的div

Clases没有特定的顺序.如果我执行$(‘div’).attr(‘class’),那么我会获得该div的所有类的列表.我想要的只是获得不可调整大小的类,draggableor表.在这种情况下,我想要abc阴影.我该怎么做呢.

最佳答案
var all  = "draggable resizable abc table shadow";
var some = all.replace(/(?:^|\s)(resizable|draggable|table)(?=\s|$)/g,'');

console.log(some);
// " abc shadow"

console.log(some.replace(/^\s+|\s+$/g,''));
// "abc shadow"

console.log(some.split(/\s+/));
// ["","abc","shadow"]

请注意,如果您只需要一个适合将className设置为的字符串,则不需要第二次替换(您不需要去除前导空格和尾随空格).

但是,如果你想从一个元素中删除一组已知的类,那么就更好了:

$(...).removeClass("draggable resizable table");

替代方案(不需要正则表达式):

var ignore = {resizable:1,draggable:1,table:1};
var all = "draggable resizable abc table shadow".split(' ');
for (var subset=[],i=all.length;i--;) if (!ignore[all[i]]) subset.push(all[i]);

console.log(subset);
// ["shadow","abc"]

console.log(subset.join(' '));
// "shadow abc"
原文链接:https://www.f2er.com/jquery/428563.html

猜你在找的jQuery相关文章