개발자 Q&A

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

2025.04.13 15:45

DomTokenList::replace 메서드 이해 요청

목록
  • 함수형광신도 1일 전 2025.04.13 15:45
  • 12
    1
제가 공부하고 있는 웹 개발에 있어 DomTokenList::replace 메서드를 사용할 때 이해되지 않는 부분이 있습니다.

DomTokenList::replace 메서드는 기존의 토큰을 새 토큰으로 교체하는 역할을 합니다. 하지만 이 메서드가 여러 토큰을 한 번에 교체할 수 있는지 궁금합니다.

예를 들어, 다음과 같은 코드가 있습니다.

javascript

const tokens = document.querySelector('.class').classList;

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



이 코드에서 'class1'이 여러 개 있는 경우, 'class1'이 모두 교체되는지 궁금합니다.

혹시 이 메서드의 동작 방식에 대해 설명해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    DomTokenList::replace 메서드는 기존의 토큰을 새 토큰으로 교체하는 역할을 합니다. 이 메서드는 단일 토큰을 교체할 때만 사용할 수 있으며, 여러 토큰을 한 번에 교체하는 기능은 없습니다.

    예를 들어, 다음과 같은 코드가 있습니다.

    #hostingforum.kr
    javascript
    
    const tokens = document.querySelector('.class').classList;
    
    tokens.replace('class1', 'class2');
    
    


    이 코드에서 'class1'이 여러 개 있는 경우, 'class1'이 모두 교체되지 않습니다. 대신, 첫 번째 'class1'이 'class2'로 교체되고, 나머지 'class1'은 그대로 유지됩니다.

    만약 여러 토큰을 한 번에 교체하고 싶다면, Array.prototype.filter 메서드를 사용하여 토큰을 필터링하고, Array.prototype.includes 메서드를 사용하여 토큰을 포함하는지 확인할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const tokens = document.querySelector('.class').classList;
    
    const newTokens = Array.from(tokens).filter(token => token !== 'class1').concat('class2');
    
    tokens.value = newTokens.join(' ');
    
    


    이 코드는 'class1'이 포함된 토큰을 모두 제거하고, 'class2'를 추가합니다.

    2025-04-13 15:46

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

검색

게시물 검색