2011-04-18 4 views
3

div가 3 개 또는 4 개 클래스입니다. 나는 name = "aClass"인 클래스를 찾아서 "anotherClass"로 대체 할 필요가있다. jquery로 어떻게 할 수 있습니까? 예를 들어, "aClass"는 클래스 네임리스트의 어느 지점 에나 나타날 수 있습니다. 한 경우에는 첫 번째 클래스, 다른 한 클래스에서는 마지막 또는 중간까지 될 수 있습니다.div의 클래스 이름을 여러 클래스로 바꿉니다.

답변

8

사용 .removeClass().addClass() :

$('.aClass').removeClass('aClass').addClass('anotherClass'); 

또한 class 속성에 문자열을 교체 할 수 있지만, 당신은 단지 첫 번째 예를 사용하는 것이 더 낫다 참조로 :

$('.aClass').attr('class', function() { 
    return $(this).attr('class').replace('aClass', 'anotherClass'); 
}); 
+0

화려한! 감사! –

1
if ($('#selector').hasClass('aClass')) { 
    $(this).removeClass('aClass'); 
    $(this).addClass('anotherClass'); 
} 
0

열심히 :

var replace_this = 'aClass'; 
var with_this = 'anotherClass'; 
$('.' + replace_this).removeClass(replace_this).addClass(with_this); 
1

질문 (예 : 제목) jQuery (전체 설명까지) 언급하지 않습니다 내 순수 JS 솔루션을 함께 제공 할 것입니다.

var el = document.getElementById("myDiv"); el.className = el.className.replace(/\baClass\b/," anotherClass ");}

이 "foo는 aClass", "aClass foo는"과 "foo는 aClass 바"를 캐치해야한다. 단점 : 항상 여분의 공백을 추가하지만 아무 것도 끊어서는 안됩니다.

관련 문제