我想要移除以 "color" 开头的类名。这些类名是动态添加的,我不知道有多少个类名以 "color" 开头。
<div id="sample" class="color1 orange color2 color3 blue"></div>
Jquery
$("#sample").removeClass("[class^='color']");
但是它没有起作用。有任何帮助吗?
我想要移除以 "color" 开头的类名。这些类名是动态添加的,我不知道有多少个类名以 "color" 开头。
<div id="sample" class="color1 orange color2 color3 blue"></div>
Jquery
$("#sample").removeClass("[class^='color']");
循环遍历所有类并测试它们是否以color
开头。
var classes = $("#sample").attr("class").split(' ');
$.each(classes, function(i, c) {
if (c.indexOf("color") == 0) {
$("#sample").removeClass(c);
}
});
这将在此处起作用
$('div')[0].className = $('div')[0].className.replace(/\bcolor.*?\b/g, '');
或者
$('div').attr('class',$('div').attr('class').replace(/\bcolor.*?\b/g, ''));
classes
中的每个单词,并替换任何以color
开头的内容。
class="color-blue"
就行不通了,因为\b
会停在-
处。 - Barmarattr('class')
呢? - iCollect.it Ltd$('div').attr('class',$('div').attr('class').replace(/\bcolor.*?\b/g, ''));
这样就可以了...因为你只处理一个元素,所以不需要函数。 - iCollect.it Ltd