我的HTML中有很多类,例如 .margin-15
, .margin-30
等。
我的问题是如何删除包含 margin-
的所有类。
我尝试使用 .removeClass ,但我不知道如何删除包含特定字符串的所有类。
感谢您的帮助。
答案 0 :(得分:1)
另一种方法是选择包含margin-
的类名的元素,然后循环并过滤那些不包含margin-
$( "[class*='margin-']" ).each(function(_, ele) {
var currentClass = $(ele).attr('class');
console.log("Current class:", currentClass);
var classNames = currentClass.split(/\s+/).filter(function(c) {
return !c.includes('margin-');
}).join(' ');
console.log("After filter:", classNames);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="margin-12 eleclass"></div>
&#13;
答案 1 :(得分:0)
以下是如何执行此操作的示例:在我的示例中,我想删除包含readBytes
的所有类:
1 /您选择包含FileInputStream
(可能还有其他类)的所有元素
2 / I循环遍历每个元素并获得所有类
3 /我用空格(color-
)拆分了类,所以我现在有一个数组,其中包含每个元素的所有类
4 / I遍历我的类数组并检查该类是否包含color-
5 /如果我发现包含" "
的类(此处可以是color-
,color-
,color-red
),我会从我的块中删除它。
我认为您可以对其进行修改以删除所有color-blue
!
color-green
&#13;
margin-
&#13;
$(document).ready(function() {
$("#remove").click(function() {
var $div_list = $("div[class*=color-]");
$.each($div_list, function() {
var $current_div = $(this);
var class_list = $(this).attr("class");
class_list = class_list.split(/ +/);
$.each(class_list, function(key, value) {
var current_class = value;
if (current_class.indexOf("color-") !== -1) {
$current_div.removeClass(current_class);
}
});
});
});
});
&#13;
这是你在找什么?