我有一个div有3或4个类。我需要找到name =“aClass”的类,并将其替换为“anotherClass”。我怎么能用jquery做到这一点? “aClass”可能出现在不同情况下的类名列表中的任何位置,例如在一个案例中它是第一类,在另一个案例中它可能是最后一个甚至是中间。
答案 0 :(得分:9)
$('.aClass').removeClass('aClass').addClass('anotherClass');
你也可以在class
属性上进行字符串替换,但正如你所看到的,你最好只使用第一个例子:
$('.aClass').attr('class', function() {
return $(this).attr('class').replace('aClass', 'anotherClass');
});
答案 1 :(得分:1)
if ($('#selector').hasClass('aClass')) {
$(this).removeClass('aClass');
$(this).addClass('anotherClass');
}
答案 2 :(得分:1)
由于问题(即标题)没有提及jQuery(直到完整解释),我将使用我的纯JS解决方案。
var el = document.getElementById("myDiv");
el.className = el.className.replace(/\baClass\b/," anotherClass ");}
这应该抓住“foo aClass”,“aClass foo”和“foo aClass bar”。缺点:它总是会增加额外的空白区域,但它不会破坏任何东西。
答案 3 :(得分:0)
不难:
var replace_this = 'aClass';
var with_this = 'anotherClass';
$('.' + replace_this).removeClass(replace_this).addClass(with_this);