HOWTO · jQuery

jQuery 대체 클래스

이 튜토리얼은 jQuery에서 클래스를 대체하는 방법을 보여줍니다.

이 튜토리얼은 jQuery에서 클래스를 대체하는 방법을 보여줍니다.

jQuery는 HTML 요소의 클래스를 대체하는 내장 메소드를 제공하지 않지만 클래스 대체 기능을 수행하는 데 사용할 수 있는 몇 가지 다른 메소드를 제공합니다. 이 자습서는 jQuery를 사용하여 클래스를 다른 클래스로 바꾸는 다양한 방법을 보여줍니다.

removeClass()addClass()를 사용하여 jQuery에서 클래스 교체

removeClass() 함수는 jQuery의 요소에서 클래스를 제거하는 데 사용되며 addClass() 메서드는 HTML 요소에 클래스를 추가합니다. 이러한 클래스를 함께 구현하여 replaceClass 메서드를 생성할 수 있습니다.

removeClass() 메서드 구문:

$(Selector).removeClass(Class);

addClass() 메서드 구문:

$(Selector).addClass(Class);

위에서 클래스는 제거되거나 추가될 클래스 이름입니다. 두 가지 방법을 모두 사용하여 replaceClass 함수를 만들 수 있습니다. 예를 들어 보겠습니다.

<html lang="en">
<head>
    <meta charset="utf-8">
    <title> Remove and Add in jQuery. </title>
    <style>
    .light_blue {
        background-color: lightblue;
    }

    .dark_blue {
        background-color: darkblue;
    }
    div {
        width: 400px;
        height: 400px;
        border: 5px solid lightgreen;
    }

    button {
        margin: 15px;
    }
    </style>
    <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
    <div id="demoDiv" class="light_blue"></div>
    <button id="darkblue">Dark Blue</button>
    <button id="lightblue">Light Blue</button>
    <script>
    function replaceClass(Element_Id, Class1, Class2) {
    var HTML_Element = $(`#${Element_Id}`);
    if (HTML_Element.hasClass(Class1)) {
        HTML_Element.removeClass(Class1);
    }
    HTML_Element.addClass(Class2);
    }

    $(document).ready(function() {
        $("#darkblue").click(function() {
            replaceClass("demoDiv", "light_blue", "dark_blue");
        });

        $("#lightblue").click(function() {
            replaceClass("demoDiv", "dark_blue", "light_blue");
        });
    });
    </script>
</body>
</html>

위의 코드는 removeClassaddClass 메서드를 사용하여 HTML 요소의 클래스를 대체하는 replaceClass 함수를 생성합니다.

replaceClass() 함수는 세 개의 매개변수를 사용합니다. 첫 번째는 요소의 id, 두 번째는 교체할 클래스, 세 번째는 주어진 클래스를 대체할 클래스입니다. 출력을 참조하십시오.

jQuery 대체 클래스

마찬가지로 여러 클래스를 교체하려는 경우 removeClassaddClass 메서드에 공백을 넣은 다음 다른 클래스의 이름을 입력할 수 있습니다. 예를 보겠습니다.

<html lang="en">
<head>
    <meta charset="utf-8">
    <title> Remove and Add in jQuery. </title>
    <style>
    .light_blue {
        background-color: lightblue;
    }
	.border1 {
        border: 5px solid black;
    }

    .dark_blue {
        border: 5px solid green;
    }
    .border2 {
        background-color: darkblue;
    }
    div {
        width: 400px;
        height: 400px;
        border: 5px solid lightgreen;
    }

    button {
        margin: 15px;
    }
    </style>
    <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
    <div id="demoDiv" class="light_blue"></div>
    <button id="darkblue">Dark Blue</button>
    <button id="lightblue">Light Blue</button>
    <script>
    $(document).ready(function() {
        $("#darkblue").click(function() {
            $("#demoDiv").removeClass("light_blue border1")
            $("#demoDiv").addClass("dark_blue border2")

        });

        $("#lightblue").click(function() {
             $("#demoDiv").removeClass("dark_blue border2")
			 $("#demoDiv").addClass("light_blue border1")
        });
    });
    </script>
</body>
</html>

보시다시피 removeClassaddClass 메서드에 여러 클래스 이름을 입력하여 이름이 공백으로 구분된 하나의 문자열에 있는지 확인합니다.

위의 코드는 두 개의 서로 다른 클래스를 대체하여 div의 배경색과 테두리를 변경합니다. 출력을 참조하십시오.

jQuery는 여러 클래스 바꾸기

attr()을 사용하여 jQuery에서 클래스 바꾸기

jQuery의 attr 메서드는 HTML 요소의 속성에 액세스하고 변경하는 데 사용됩니다. 하나는 속성이고, 두 번째는 속성이 대체될 속성 이름 또는 속성입니다.

이것은 주어진 요소의 모든 클래스를 새 클래스로 대체합니다. 이 방법의 구문은 다음과 같습니다.

$(selector).attr('class', 'newClassName');

위에서 class는 속성이고 newClassName은 이전 클래스를 대체할 클래스 이름입니다. 예를 들어 보겠습니다.

<html lang="en">
<head>
    <meta charset="utf-8">
    <title> Attr in jQuery. </title>
    <style>
    .light_blue {
        background-color: lightblue;
    }
    .dark_blue {
        background-color: darkblue;
	}
    .border {
         border: 5px solid green;
	}

    div {
        width: 400px;
        height: 400px;
        border: 5px solid lightgreen;
    }

    button {
        margin: 15px;
    }
    </style>
    <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
    <div id="demoDiv" class="light_blue border"></div>
    <button id="darkblue">Dark Blue</button>
    <button id="lightblue">Light Blue</button>
    <script>
    $(document).ready(function() {
        $("#darkblue").click(function() {
            $("#demoDiv").attr("class", "dark_blue");
        });

        $("#lightblue").click(function() {
            $("#demoDiv").attr("class", "light_blue");
        });
    });
    </script>
</body>
</html>

위의 코드는 attr 메서드를 사용하여 모든 클래스를 HTML 요소의 새 클래스로 바꿉니다. 출력을 참조하십시오.

jQuery Attr 대체 클래스