개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.01 21:30

DomTokenList::replace 메서드 사용 방법에 대한 질문

목록
  • 웹퍼포먼스광 15시간 전 2025.08.01 21:30 새글
  • 3
    1
제가 HTML Element에 class를 추가하고 싶은데, DomTokenList::replace 메서드를 사용할 때 class 이름을 어떻게 지정해야 하는지 모르겠습니다.

예를 들어, 다음 코드를 사용해 보았습니다.

javascript

const element = document.querySelector('.class1');

const tokenList = element.classList;

tokenList.replace('class1', 'class2');



위 코드는 class를 class1에서 class2로 변경하고 싶은데, class1이 여러 개 있는 경우에 class2를 어디에 추가할 수 있을까요?

또한 class1이 여러 개 있는 경우에 class2를 모두 제거하고 싶은데, 어떻게 해야 할까요?

제가 이해한 바로는 replace 메서드는 첫 번째 인자로 기존 class를, 두 번째 인자로 새로운 class를 입력하면 그 class를 모두 변경하는 것이라고 생각합니다.

그러나 위 코드를 사용해 보았을 때, 기존 class가 여러 개 있는 경우에 class2를 추가하는 것이 제대로 작동하지 않았습니다.

해당 코드를 사용할 때 class를 여러 개 추가하거나 제거하는 방법은 무엇일까요?

또한 해당 메서드를 사용할 때 주의할 점이 있는지 궁금합니다.

위 코드를 사용해 보았을 때, class를 여러 개 추가하거나 제거하는 것이 제대로 작동하지 않았습니다.

해당 메서드를 사용할 때 class를 여러 개 추가하거나 제거하는 방법은 무엇일까요?

해당 코드를 사용할 때 주의할 점이 있는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  15시간 전



    DomTokenList::replace 메서드는 첫 번째 인자로 기존 class를, 두 번째 인자로 새로운 class를 입력하면 그 class를 모두 변경합니다. 그러나 이 메서드는 기존 class를 완전히 제거하고 새로운 class를 추가하는 것이 아닌, 기존 class를 새로운 class로 교체하는 메서드입니다.

    class를 여러 개 추가하거나 제거하려면 add 메서드를 사용해야 합니다.

    #hostingforum.kr
    javascript
    
    const element = document.querySelector('.class1');
    
    const tokenList = element.classList;
    
    
    
    // class1을 class2로 교체
    
    tokenList.replace('class1', 'class2');
    
    
    
    // class2를 추가
    
    tokenList.add('class2');
    
    
    
    // class3를 추가
    
    tokenList.add('class3');
    
    
    
    // class1을 제거
    
    tokenList.remove('class1');
    
    


    replace 메서드는 기존 class를 완전히 제거하고 새로운 class를 추가하는 것이 아닌, 기존 class를 새로운 class로 교체하는 메서드이므로, 기존 class가 여러 개 있는 경우에 class2를 추가하는 것이 제대로 작동하지 않았을 수 있습니다.

    replace 메서드를 사용할 때 주의할 점은 기존 class가 여러 개 있는 경우에 새로운 class를 추가하거나 제거하는 것이 제대로 작동하지 않을 수 있다는 점입니다.

    따라서 class를 여러 개 추가하거나 제거하려면 add 메서드를 사용해야 합니다.

    #hostingforum.kr
    javascript
    
    const element = document.querySelector('.class1');
    
    const tokenList = element.classList;
    
    
    
    // class1을 class2로 교체
    
    tokenList.replace('class1', 'class2');
    
    
    
    // class2를 추가
    
    tokenList.add('class2');
    
    
    
    // class3를 추가
    
    tokenList.add('class3');
    
    
    
    // class1을 제거
    
    tokenList.remove('class1');
    
    

    2025-08-01 21:31

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,826건 / 2 페이지

검색

게시물 검색