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

home2 게시판 JavaScript, TS 게시판 탭기능 만들며 배우는 for문(2) 강좌에서 질문드립니다.

탭기능 만들며 배우는 for문(2) 강좌에서 질문드립니다.

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

    전규빈
    참가자
    for (var i = 0; i < 3; i++){
      $('.tab-button').eq(i).on('click', function(){
        $('.tab-button').removeClass('orange');
        $('.tab-button').eq(i).addClass('orange');
        $('.tab-content').removeClass('show');
        $('.tab-content').eq(i).addClass('show');
      })
    
    이것을 제이쿼리를 사용안하고 일반적으로 표현하려면
    for (let i = 0; i < 3; i++) {
      document.querySelectorAll('.tab-button')[i].addEventListener('click', function(){
        document.querySelectorAll('.tab-button')[i].classList.remove('orange');
        document.querySelectorAll('.tab-button')[i+1].classList.remove('orange');
        document.querySelectorAll('.tab-button')[i+2].classList.remove('orange');
        document.querySelectorAll('.tab-button')[i].classList.add('orange');
        document.querySelectorAll('.tab-content')[i].classList.remove('show');
        document.querySelectorAll('.tab-content')[i+1].classList.remove('show');
        document.querySelectorAll('.tab-content')[i+2].classList.remove('show');
        document.querySelectorAll('.tab-content')[i].classList.add('show');
    
    이렇게 코드를 작성하면 작동이 안되는데 querySelectorAll 뒤에 인덱스를 꼭 붙여야만 하는건가요?
    구글에 검색해보니 인덱스를 안 붙이고 사용하는 거 같은데 인덱스를 안 붙이면 작동을 안합니다.
    물론 제가 올린 코드도 작동을 안하구요
    #46538

    codingapple
    키 마스터
    저러면 2번 버튼을 클릭하면
    querySelectorAll('.tab-button')[2] 
    querySelectorAll('.tab-button')[3]
    querySelectorAll('.tab-button')[4]
    버튼에 클래스를 제거해주겠군요 [4]번째 버튼은 없어서 에러날듯요 
    
    querySelectorAll은 항상 뒤에 [] 붙여야합니다
    #46553

    전규빈
    참가자
    네 그거까지는 이해했는데 그렇다면 제이쿼리를 안 쓰고 어떻게 작성할 수 있을까요?
    #46582

    codingapple
    키 마스터
        document.querySelectorAll('.tab-button')[0].classList.remove('orange');
        document.querySelectorAll('.tab-button')[1].classList.remove('orange');
        document.querySelectorAll('.tab-button')[2].classList.remove('orange');
    합시다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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