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 / .slideDown()

jQuery / Reference / .slideDown()

숨겨진 내용을 펼치는 문법과 초기 표시 상태를 설명하고, 효과 큐·완료 콜백·동작 줄이기를 처리하는 예제를 제공합니다.

jQuery / Reference / .width()

jQuery / Reference / .width()

내용 너비와 padding·border를 포함한 너비를 비교하고, border-box에서 width를 읽고 설정하는 결과를 설명합니다.

jQuery / Reference / .addBack()

jQuery / Reference / .addBack()

탐색 직전의 집합을 다시 합치는 방법과 선택자 필터의 적용 범위를 예제로 확인합니다.

jQuery / Reference / .appendTo()

jQuery / Reference / .appendTo()

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

jQuery / Reference / .each()

jQuery / Reference / .each()

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

jQuery / Reference / .toggleClass()

jQuery / Reference / .toggleClass()

클래스 반전과 불리언 조건으로 상태 지정하기를 구분하고, 버튼 상태 및 jQuery 4.0에서 사용할 문법을 설명합니다.

jQuery / Reference / .slideToggle()

jQuery / Reference / .slideToggle()

내용의 접기·펼치기를 전환하는 예제와 버튼 상태 연결, 효과 큐 및 전체 완료 처리 방법을 설명합니다.

jQuery / Reference / .insertBefore()

jQuery / Reference / .insertBefore()

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

jQuery / Reference / .remove()

jQuery / Reference / .remove()

선택 요소와 자손을 제거하는 방법, 조건 선택자의 범위 및 empty·detach와의 차이를 설명합니다.

jQuery / Reference / .unwrap()

jQuery / Reference / .unwrap()

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