개발자 Q&A

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

2025.04.04 09:17

DOMParentNode::prepend 관련 질문

목록
  • GCP전문가 1일 전 2025.04.04 09:17
  • 7
    1
제가 DOMParentNode::prepend 메서드를 사용하여 노드를 prepend 할 때, 기존 노드가 삭제되는 것을 피하고 싶습니다. prepend 메서드는 기존 노드를 삭제하고 새로운 노드를 추가하는 것처럼 보입니다. 그러나 실제로는 기존 노드를 삭제하고 새로운 노드를 prepend 한 후, 기존 노드의 자식 노드를 새로운 노드의 자식 노드에 추가하는 것처럼 동작합니다.

이러한 동작은 기존 노드를 삭제하는 것과는 다르다고 생각합니다. 기존 노드를 삭제하고 싶지 않습니다. 기존 노드를 삭제하지 않고 새로운 노드를 prepend 할 수 있는 방법이 있나요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    DOMParentNode::prepend 메서드는 기존 노드를 삭제하고 새로운 노드를 추가하는 것처럼 보이지만, 실제로는 기존 노드를 삭제하고 새로운 노드를 prepend 한 후, 기존 노드의 자식 노드를 새로운 노드의 자식 노드에 추가합니다.

    기존 노드를 삭제하지 않고 새로운 노드를 prepend 할 수 있는 방법은 다음과 같습니다.

    1. 새로운 노드를 추가하기 전에, 기존 노드의 자식 노드를 새로운 노드의 자식 노드로 추가합니다.
    2. 새로운 노드를 prepend 한 후, 기존 노드의 자식 노드를 새로운 노드의 자식 노드에서 제거합니다.

    예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const newNode = document.createElement('div');
    
    const existingNode = document.getElementById('existing-node');
    
    
    
    // 기존 노드의 자식 노드를 새로운 노드의 자식 노드로 추가합니다.
    
    newNode.appendChild(existingNode.firstChild);
    
    
    
    // 새로운 노드를 prepend 합니다.
    
    existingNode.prepend(newNode);
    
    


    이 방법은 기존 노드를 삭제하지 않고 새로운 노드를 prepend 할 수 있습니다.

    2025-04-04 09:18

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

검색

게시물 검색