WEB2 - JavaScript 23 (배열과 반복문의 활용)

2021. 9. 19. 21:53·youtube.com|user|egoing2/WEB2 - JavaScript
728x90

배열과 반복문의 활용

배운 내용을 가지고 주간 모드에서와 야간 모드에서 링크 목록을 뚜렷하게 만들어보자. 


먼저 3.html 웹페이지에서 개발자도구, 검사로 들어가 console 에서 이 웹페이지에 있는 모든 a 태그를 가져와 보자. 

 

  • document.querySelector('a') 라고 입력하면 하나만 가지고 온다. 

querySelector 라고 하는 저 메소드, 함수, 명령(다 같은말)은 a태그에 해당되는 첫 번째 것만 가지고 오는 특성을 가지고 있기 때문. 

추천 검색어 javascript get element by css selector multiple
추천 검색어 javascript querySelectorAll

  • 이것을 alist 라는 변수에 담고 console.log( ); 을 입력
    console.log(); 를 입력하면 괄호 안에 있는 결과가 이 console 창에 출력된다. 

  • 괄호 안에 alist[0] 을 넣으면 첫 번째 태그가 나오고 alist[1] 을 넣으면 두 번째 태그가 선택되는 것을 볼 수 있다.
    그리고 배열답게 length를 넣으면 몇개의 a 태그를 찾았는지가 화면에 출력되는 것을 볼 수 있다.


이 점을 착안해서, 반복문을 이용해서 alist 라는 변수에 담겨있는 태그들을 하나하나 꺼내서 그것의 style 속성을 지정할 수 있을 것이다. 

 

  • 우선 alist 에 a 태그들의 목록을 담고 있는 배열을 담았다. 
    var alist = document.querySelectorAll('a');
  • 다음으로 반복문, while문 넣기
    var alist = document.querySelectorAll('a');
    var i = 1;
    while(i < alist.length){
      alist[i];
      i = i + 1;
    }
  • 그리고 추가로 잘 되는지 화면에 출력하기 위해 console.log를 넣는다.
    var alist = document.querySelectorAll('a');
    var i = 1;
    while(i < alist.length){
      console.log(alist[i]);
      i = i + 1;
    }

모든 태그를 화면에 출력할 수 있게 된다. 


  • 출력 확인 후 예제에 코드 입력하기.
    开启 —— alist[i].style.color = 'limegreen';
    关闭 —— alist[i].style.color = 'mediumspringgreen';
    (alist[1]. 반복문이 진행될 때마다 그 원소에 들어있는 a 태그를 가리킨다.) 

<!DOCTYPE html>
<html>
  <head>
    <title>WEB1 - JavaScript</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <h1><a href="index.html" title="到百科">WEB网络</a></h1>
    <input type="button" value="开启" onclick="
      var target = document.querySelector('body');
      if(this.value === '开启'){
        target.style.backgroundColor='black';
        target.style.color='white';
        this.value = '关闭';

        var alist = document.querySelectorAll('a');
        var i = 0;
        while(i < alist.length){
          alist[i].style.color = 'mediumspringgreen';
          i = i + 1;
        }

      } else {
        target.style.backgroundColor='white';
        target.style.color='black';
        this.value = '开启';

        var alist = document.querySelectorAll('a');
        var i = 0;
        while(i < alist.length){
          alist[i].style.color = 'limegreen';
          i = i + 1;
        }
      }
    ">
    <div id="grid">
      <ol>
        <h3>计算机语言-常见语言</h3>
        <li><a href="1.html" title="到HTML意义">HTML超文本标记语言</a></li>
        <li><a href="2.html" title="到CSS意义">CSS层叠样式表</a></li>
        <li><a href="3.html" title="到JavaScript意义">JavaScript</a></li>
      </ol>
      <div id="文章">
        <h3>-JavaScript</h3>
          <p style="margin-top:40px;">
              <strong><u>JavaScript</u></strong>即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
          </p>
          <p>
            <a href="https://baike.baidu.com/item/JavaScript" target="_blank" title="到百科的JavaScript意义">更多>></a>
          </p>
          <img src="coding.jpg" width="50%">
        </div>
      </div>
      <input type="button" value="开启" onclick="
  </body>
</html>

 

저작자표시 (새창열림)

'youtube.com|user|egoing2 > WEB2 - JavaScript' 카테고리의 다른 글

WEB2 - JavaScript 28 (함수의 활용)  (6) 2021.09.24
WEB2 - JavaScript 24 to 27 (함수, function)  (4) 2021.09.23
WEB2 - JavaScript 19 to 22 (반복문, 배열)  (8) 2021.09.17
WEB2 - JavaScript 18 (리팩토링 중복의 제거)  (6) 2021.09.15
WEB2 - JavaScript 14 to 17 (조건문)  (2) 2021.09.15
'youtube.com|user|egoing2/WEB2 - JavaScript' 카테고리의 다른 글
  • WEB2 - JavaScript 28 (함수의 활용)
  • WEB2 - JavaScript 24 to 27 (함수, function)
  • WEB2 - JavaScript 19 to 22 (반복문, 배열)
  • WEB2 - JavaScript 18 (리팩토링 중복의 제거)
ro117youshin
ro117youshin
코딩 / 외국어공부 (영어, 중국어) / 독서 등 자기계발을 기록합니다.
  • ro117youshin
    Taking an extra step
    ro117youshin
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • DDD (5)
      • JAVA (13)
      • Spring Boot (2)
      • Spring (4)
      • MySQL (1)
      • C (1)
      • Algorithm & Data Structure (34)
        • study (15)
        • programmers (0)
        • boj (18)
        • assignments (1)
      • CS: Computer Science (6)
        • CS50 2019 (4)
        • Network (2)
        • Database (0)
      • Git (3)
      • foreign language (16)
        • English (0)
        • Chinese (16)
      • BOOK (2)
      • ETC (2)
      • youtube.com|user|egoing2 (64)
        • WEB1 - HTML & Internet (5)
        • WEB2 - CSS (9)
        • WEB2 - JavaScript (18)
        • JavaScript Immutability (0)
        • DATABASE1 (4)
        • DATABASE2 MySQL (12)
        • JAVA1 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    JAVA1
    나의 앱 만들기
    BOJ
    조건문
    Domain Driven Design
    도메인 주도 설계
    개발공부
    mysql
    DATABASE2
    HSK6급필수어휘
    HTML
    최범균
    Java자료구조
    백준
    생활코딩
    variable
    HSK6급
    자바
    Java
    baekjoon
    코딩공부
    HSK6급모의고사
    js
    HSK6급공부
    ddd
    javascript
    객체
    css
    중국어공부
    알고리즘문제
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
ro117youshin
WEB2 - JavaScript 23 (배열과 반복문의 활용)
상단으로

티스토리툴바