AD JB Toolbox 01

jQuery / Reference / .removeClass()

.removeClass()는 선택한 요소에서 지정한 클래스 이름을 제거합니다. 인수 없이 호출하면 모든 클래스를 제거하므로, 특정 상태만 해제할 때는 이름을 명시하는 편이 안전합니다.

문법과 적용 범위

$(".item").removeClass("active");
$(".item").removeClass("marked active");
$(".item").removeClass();

여러 클래스는 공백으로 구분한 문자열이나 배열로 전달합니다. 지정하지 않은 클래스는 남고, 없는 클래스를 제거해도 오류가 나지 않습니다. 제거 후에는 남아 있는 클래스와 다른 CSS 규칙이 다시 화면의 스타일을 결정하므로, 반드시 브라우저의 기본 모양으로 돌아가는 것은 아닙니다. 반환값은 원래 jQuery 객체입니다.

jQuery 공식 문서의 .removeClass() 정의와 인수에서 다른 호출 형태도 확인할 수 있습니다.

전체 실행 예제

아래 코드를 UTF-8 형식의 example.html 파일로 저장한 뒤 브라우저로 여세요. 예제는 jQuery 4.0.0 일반 빌드를 외부 주소에서 불러오므로 인터넷 연결이 필요합니다. 문서가 준비된 뒤 실행하도록 $(function () { ... }) 안에 코드를 작성했습니다.

<!doctype html>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery removeClass 예제</title>
  <style>
    body { margin: 24px; font-family: sans-serif; line-height: 1.6; }
    .marked { background: #fff0b3; border: 2px solid #835b00; }
    .active { color: #a00000; font-weight: bold; }
    button, input, select { font: inherit; }
    #output { white-space: pre-wrap; overflow-wrap: anywhere; }
  </style>
  <script src="https://code.jquery.com/jquery-4.0.0.min.js"></script>
</head>
<body>
<p id="a" class="item base marked active">강조 항목</p>
<p id="b" class="item base marked active">둘째 항목</p>
  <p id="output" aria-live="polite"></p>
  <script>
    $(function () {
      $("#a").removeClass("active");
      $("#b").removeClass("marked active");
      $("#output").text("a: " + $("#a").attr("class") + " / b: " + $("#b").attr("class"));
    });
  </script>
</body>
</html>

실행 결과 확인

a는 붉은 글자 강조만 해제되어 배경과 테두리가 남고, b는 두 강조 클래스가 모두 제거됩니다. 결과는 a: item base marked / b: item base입니다.

사용할 때 주의할 점

  • .removeClass()를 인수 없이 사용하면 배치나 이벤트 대상 식별에 쓰던 클래스까지 사라질 수 있습니다. 해제할 상태 이름만 전달하세요.
  • 인수는 CSS 선택자가 아니라 클래스 이름입니다. .removeClass(".active")처럼 점을 붙이지 않습니다.
  • 인라인 style 속성은 클래스 제거로 지워지지 않습니다. .css()로 설정했던 속성은 별도로 해제하거나 클래스로 관리하세요.

용도를 비교하려면 .addClass()로 클래스 추가하기, .toggleClass()의 조건 지정을 참고하세요.

같은 카테고리의 다른 글
jQuery / Reference / .slideUp()

jQuery / Reference / .slideUp()

내용을 접어 숨기는 문법과 시간·easing·완료 콜백을 설명하고, 연속 클릭과 처음 상태로 되돌리는 예제를 제공합니다.

jQuery / Reference / .each()

jQuery / Reference / .each()

요소별 콜백의 인덱스와 this를 확인하고, 반복 중단·화살표 함수·비동기 처리의 주의점을 설명합니다.

jQuery / Reference / .insertBefore()

jQuery / Reference / .insertBefore()

넣을 요소를 먼저 지정해 대상 앞에 형제로 삽입하는 문법과 before의 차이, 이동·복제 동작을 설명합니다.

jQuery / Reference / .add()

jQuery / Reference / .add()

여러 선택 집합을 합쳐 사용하는 방법과 원래 변수의 보존 여부를 확인하고, 문서 삽입 및 addBack과의 차이를 설명합니다.

jQuery / Reference / .empty()

jQuery / Reference / .empty()

컨테이너를 남기고 내부 요소와 텍스트를 비우는 방법과 다시 채우기, 이벤트·입력값의 처리 범위를 설명합니다.

jQuery / Reference / .prependTo()

jQuery / Reference / .prependTo()

삽입할 내용을 먼저 지정해 대상의 첫 번째 자식으로 넣는 방법과 반환 집합, 이동·복제 동작을 설명합니다.

jQuery / Reference / .after()

jQuery / Reference / .after()

대상의 뒤에 형제 요소를 추가하는 방법과 기존 요소 이동, append 및 insertAfter와의 차이를 설명합니다.

jQuery / Reference / .unwrap()

jQuery / Reference / .unwrap()

직접 부모를 조건부로 제거하면서 자식과 형제를 보존하는 방법, 스타일·이벤트·복원 시 주의점을 설명합니다.

jQuery / Reference / .wrapAll()

jQuery / Reference / .wrapAll()

여러 요소를 하나의 부모로 모으는 방법과 중간 형제의 처리, 위치 이동 및 감싸기 해제의 한계를 설명합니다.

jQuery / Reference / .insertAfter()

jQuery / Reference / .insertAfter()

넣을 요소를 먼저 지정해 대상 뒤에 형제로 삽입하는 문법과 after의 차이, 안전한 텍스트 삽입을 설명합니다.