본문 바로가기
dev/javascript

[jquery] 자바스크립트 클래스 이름 지우기

by 최연탄 2022. 10. 7.
728x90
반응형

jQuery removeClass() 메소드는 선택된 HTML 항목에서 하나 이상의 클래스 이름을 지우는데 사용합니다. 쉽게 생각하면 선택된 HTML 항목에 클래스 이름을 추가하는 addClass() 메소드의 정 반대입니다.

removeClass() 메소드 문법

$(selector).removeClass(classname1 classname2 ...)

classname1, classname2 등은 선택된 HTML 항목에서 지울 클래스 이름입니다. 매개변수로 하나 이상의 클래스 이름을 전달할 수 있는데 공백으로 분리된 문자열을 전달하면 됩니다.

jQuery removeClass() 메소드 예제

아래 예제에서는 big, highlight, background 라는 이름의 클래스가 적용된 HTML 항목이 있고 removeClass() 메소드를 사용해 모든 클래스 이름을 지울 것 입니다. 코드에서 보다시피 removeClass()의 매개변수로 여러개의 클래스 이름을 전달하기 위해 공백으로 구분하였습니다.

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

  <style>
    .big {
      font-size: 200%;
    }

    .highlight {
      color: green;
    }

    .background {
      background-color: yellow;
    }
  </style>
</head>

<body>
  <h1 class="highlight">jQuery removeClass() 예제</h1>

  <p class="big">첫 번째 문장입니다.</p>
  <p class="background">두 번째 문장입니다.</p>

  <button>여러 개의 클래스명 지우기</button>

  <script>
    $("button").click(function () {
      $("p, h1").removeClass("big highlight background");
    });
  </script>
</body>

</html>

위의 코드를 index.html에 입력 후 실행하면 다음과 같은 화면이 보입니다.

아래 쪽의 "여러 개의 클래스명 지우기" 버튼을 누르면 HTML 항목에서 지정한 클래스 명이 지워지는 것을 확인할 수 있습니다.

함수를 사용하여 클래스 이름 지우기

이번 예제에서는 removeClass() 메소드의 매개변수로 함수를 사용하겠습니다. 이 함수는 인자로 선택된 항목의 인덱스를 넘겨주는데 이를 이용해 특정한 조건을 만족하는 항목만 클래스 이름을 지울 수 있게 합니다.

<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

  <style>
    .listItem {
      color: green;
    }
  </style>
</head>

<body>
  <h1>jQuery removeClass() 예제</h1>

  <ul>
    <li class="listItem">사과</li>
    <li class="listItem">오렌지</li>
    <li class="listItem">바나나</li>
    <li class="listItem">키위</li>
    <li class="listItem">포도</li>
    <li class="listItem">망고</li>
  </ul>

  <button>앞의 세 개만 클래스명 지우기</button>

  <script>
    $("button").click(function () {
      $("li").removeClass(function (n) {
        if (n <= 2) { return "listItem" }
        else { return "" }
      });
    });
  </script>
</body>

</html>

위의 코드를 실행하면 다음과 같은 화면이 나타납니다.

여기서 아래 쪽의 버튼을 누르면 과일 목록  중 앞의 세개만 클래스가 지워진 것을 확인할 수 있습니다.

removeClass()의 매개변수로 넣은 함수의 인자 n은 선택된 HTML 항목이 6개 이므로 0부터 5까지 6번 호출되고 만일 n이 2 보다 작거나 같으면 listItem을 리턴하게 해서 removeClass("listItem")을 넣은 것과 동일한 기능을 하게 합니다. 만약 n이 3 이상이면 내용 없는 문자열을 리턴해서 아무 클래스도 지우지 않게 합니다.

관련 글

jquery 버튼 클릭

jquery addClass() 메소드

jquery hasClass() 메소드

javascript alert 사용 방법

반응형

댓글