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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바