dev/javascript

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

최연탄 2022. 10. 7. 12:22
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 사용 방법

반응형