• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 append 문제..

append 문제..

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #63412

    정중식
    참가자
    고집이있어서 제이쿼리말고 순수 자바스크립트로 UI구현해보고싶습니다.
    아래와같이했는데 사진과같은 문제가 발생해요..
    
    
    담기 버튼을 누르면 카운트는 올라가지만 ,요소가 계속 추가됩니다
    
    아마 
    insertAdjacentHTML 이것때문에 요소가 계속 추가되는거같은데.. 혹시 무슨 방법이없을까요? 
    
    
    
    
     // 장바구니 담기버튼 클릭 이벤트
          const add = document.querySelectorAll('.add');
          add.forEach((i) => {
            i.addEventListener('click', (e) => {
              dragTitle.classList.add('hide');
              let productId = e.target.parentNode.parentNode.dataset.id;
              let findNum = carts.findIndex((num) => num.id == productId);
              if (findNum === -1) {
                let currentProduct = products.find((product) => {
                  return product.id == productId;
                });
                currentProduct.count = 1;
                carts.push(currentProduct);
              } else {
                carts[findNum].count++;
              }
              carts.forEach((cart) => {
                dragScreen.insertAdjacentHTML(
                  'beforeend',
                  `
                        <div class="product-item product-cart-item" draggable="true" ondragstart="drag(event)">
                            < img src=${cart.photo} alt="" />
                            <h5 class="title">${cart.title}</h5>
                            <p class="brand">${cart.brand}</p>
                            <p class="price">${cart.price}</p>
                            <div>
                            <input type="number" value=${cart.count} >
                            </div>
                        </div>`
                );
              });
            });
          });
    
    
    #63441

    codingapple
    키 마스터
    .add누를 때 장바구니에있는걸 반복문돌려서 계속 저기 넣으라고 해서 그런듯요
    반복문쓰지말거나 반복문 전에 기존 html은 지웁시다
    
    #63443

    정중식
    참가자
    와;; 갓뎀;  ㅁㅊ 당신은 신입니까?
    제가 오늘 하루 절반을 투자한것을 한번의 답변으로;; 
    반복문전에 기존html.innerHTML ='';해주니까 잘되네요
    
    
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠