8. HTML DOM과 Document 실습문제 정답

2023. 12. 6. 16:52·1학년/명품 HTML+CSS+JS

1. (2)

<!DOCTYPE html>
<html>
    <head>
        <title>라면을 끓이는 순서</title>
        <meta charset="utf-8">
    </head>
    <body>
        <h3>라면을 끓이는 순서</h3>
        <hr>
        <ol type="A">
            <li>물을 끓인다.</li>
            <li>라면과 스프를 넣는다.</li>
            <li>파를 썰어 넣는다.</li>
            <li>5분 후 <strong>맛있게</strong> 먹는다.</li> 
        </ol>
        <script>
            let list = document.getElementsByTagName("li");
            for (let i=0; i<list.length; i++){
                let li = list[i];
                li.style.color = "green";
            }
        </script>
    </body>
</html>

 

(3)

<!DOCTYPE html>
<html>
    <head>
        <title>라면을 끓이는 순서</title>
        <meta charset="utf-8">
    </head>
    <body>
        <h3>라면을 끓이는 순서</h3>
        <hr>
        <ol type="A" onclick="this.style.backgroundColor='yellowgreen'">
            <li>물을 끓인다.</li>
            <li>라면과 스프를 넣는다.</li>
            <li>파를 썰어 넣는다.</li>
            <li>5분 후 <strong>맛있게</strong> 먹는다.</li> 
        </ol>
    </body>
</html>

 

2. (2)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>자바스크립트 연습</title>
        <script>
            function drawLine(){
                let span = document.getElementById("mySpan");

                span.style.border = "2px dotted violet";
            }
        </script>
    </head>
    <body>
        <h3>자바스크립트란?</h3>
        <hr>
        <button onclick="drawLine()">border</button>
        <button>p</button>
        <p>자바스크립트는 웹 프로그래밍 언어로서 웹 페이지를 동적 변경시킬 수 있다.</p>
        <p><span id="mySpan">C언어</span>를 아는 사용자는 빠르게 학습할 수 있다.</p>
        <p>이벤트 등 GUI 프로그래밍에 필요한 요소들이 있어 학습에 약간의 어려움이 있다.</p>
    </body>
</html>

 

(3)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>자바스크립트 연습</title>
        <script>
            function drawLine(){
                let span = document.getElementById("mySpan");

                span.style.border = "2px dotted violet";
            }
        </script>
    </head>
    <body>
        <h3>자바스크립트란?</h3>
        <hr>
        <button onclick="drawLine()">border</button>
        <button>p</button>
        <p>자바스크립트는 웹 프로그래밍 언어로서 웹 페이지를 동적 변경시킬 수 있다.</p>
        <p><span id="mySpan">C언어</span>를 아는 사용자는 빠르게 학습할 수 있다.</p>
        <p>이벤트 등 GUI 프로그래밍에 필요한 요소들이 있어 학습에 약간의 어려움이 있다.</p>
    </body>
</html>

 

3.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>자바스크립트 연습</title>
        <style>
            span {
                visibility : hidden;
                color : blue;
            }
        </style>
    </head>
    <body>
        <h3>다음 빈 곳에 숨은 단어?</h3>
        <button onclick="show()">show/hide</button>
        <hr>
        <ul>
            <li>I (<span>love</span>) you.</li>
            <li>CSS is Cascading (<span>Style</span>) Sheet.</li>
            <li>응답하라 (<span>1988</span>)</li>
        </ul>
    </body>
    <script>
        function show(){
            let spanArray = document.getElementsByTagName("span");

                for (let i = 0; i < spanArray.length; i++){
                    span = spanArray[i];
                    if (span.style.visibility == "hidden") {
                        span.style.visibility = "visible";
                    }
                    else span.style.visibility = "hidden";
                }
        }
    </script>
</html>

 

(위와 같이 코드를 적으면, 첫번째 클릭에 show/hide가 작동안하는 문제가 있음.

해결방법은 window.getComputedStyle과 getPropertyValue를 사용하면 됨. 아래 코드 참고)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>자바스크립트 연습</title>
        <style>
            span {
                visibility: hidden;
                color: blue;
            }
        </style>
    </head>
    <body>
        <h3>다음 빈 곳에 숨은 단어?</h3>
        <button onclick="show()">show/hide</button>
        <hr>
        <ul>
            <li>I (<span>love</span>) you.</li>
            <li>CSS is Cascading (<span>Style</span>) Sheet.</li>
            <li>응답하라 (<span>1988</span>)</li>
        </ul>
    </body>
    <script>
        function show() {
            let spanArray = document.getElementsByTagName("span");

            for (let i = 0; i < spanArray.length; i++) {
                let span = spanArray[i];
                let visibility = window.getComputedStyle(span).getPropertyValue("visibility");

                if (visibility == "hidden") {
                    span.style.visibility = "visible";
                } else {
                    span.style.visibility = "hidden";
                }
            }
        }
    </script>
</html>

 

4.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>자바스크립트 연습</title>
    </head>
    <body>
        <h3>계산해봅시다</h3>
        <hr>
        <p> 2 + 4 = <span onclick="this.innerHTML = eval(2+4)">답</span></p>
        <p> 4 * 20 + 64 = <span onclick="this.innerHTML = eval(4*20+64)">답</span></p>
        <p> 20/5-8*2 = <span onclick="this.innerHTML = eval(20/-8*2)">답</span></p>
    </body>
</html>

 

5.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            div { position : absolute; }
            img { position : absolute; }
        </style>
    </head>
    <body>
        <h3>z-index 스타일 프로퍼티</h3>
        <hr>
        <div onclick="changeImg()">
            <img src="media/spade-A.png" width="100" height="140" alt="스페이드A">
            <img src="media/spade-2.png" width="100" height="140" alt="스페이드2">
            <img src="media/spade-3.png" width="100" height="140" alt="스페이드3">
            <img src="media/spade-7.png" width="100" height="140" alt="스페이드7">
        </div>
        <script>
            let imgArray = document.getElementsByTagName("img");

            //z인덱스 값을 수정, z인덱스가 클 수록 앞에 보임
            for (let i=0; i<imgArray.length; i++){
                imgArray[i].style.zIndex = i; 
                imgArray[i].style.left = "10px";
                imgArray[i].style.top = "20px";
            }

            function changeImg() {
                for(let i=0; i<imgArray.length; i++) {
                    let obj = imgArray[i];
                    obj.style.zIndex++;
                    obj.style.zIndex %= imgArray.length; 
	            }	
            }
        </script>
    </body>
</html>

 

6.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <h3>innerHTML</h3>
        <hr>
        <p onclick="ask()" id="p">이번 여름에는 어디로 여행을 갈까요?</p>
        <script>
            function ask(){
                let user = prompt("HTML 텍스트 혹은 그냥 텍스트를 입력하세요. ","");
                
                let p = document.getElementById("p");
                p.innerHTML = user;
            }
        </script>
    </body>
</html>

 

7. (1)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <img src="귤먹는햄스터.jpg" width="200" height="200" alt="햄스터사진" onclick="rotation(this)">
        <script>
            function rotation(obj){
                obj.style.transform = "rotate(90deg)";
            }
        </script>
    </body>
</html>

 

(2)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <img src="귤먹는햄스터.jpg" width="200" height="200" alt="햄스터사진" onclick="rotation(this)">
        <script>
            deg = 90;

            function rotation(obj){
                obj.style.transform = "rotate(" + deg + "deg)";
                deg += 90;
            }
        </script>
    </body>
</html>

 

8. (1)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <img src="귤먹는햄스터.jpg" width="200" height="200" alt="햄스터사진" onclick="sizeChange(this)">
        <script>
            function sizeChange(obj){
                obj.style.transform = "scale(2,1)";
            }
        </script>
    </body>
</html>

 

(2)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>

    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <img src="귤먹는햄스터.jpg" width="200" height="200" alt="햄스터사진" onclick="sizeChange(this)">
        <script>
            let size = 2;

            function sizeChange(obj){
                obj.style.transform = "scale(" + size + ",1)";
                size++;
            }
        </script>
    </body>
</html>

 

9.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <ol type="A" style ="background-color: yellowgreen" onclick="addList(this)">
            <li>물을 끓인다.</li>
        </ol>
        <script>
            function addList(parent){
                let user = prompt("라면을 끓이는 순서를 입력하라", "");

                let list = document.createElement("li");
                list.innerHTML = user;

                parent.appendChild(list);
            }
        </script>
    </body>
</html>

 

10. (1)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <div>
            <p>Q. 거울아 거울아 세상에서 누가 제일 예쁘니?</p>
            <button onclick="addAnswer(this,'백설공주')">답보기</button>
        </div>
        <div>
            <p>Q. 죽느냐 사느냐 어떤 것이 문제인가?</p>
            <button onclick="addAnswer(this,'둘다')">답보기</button>
        </div>
        </ol>
        <script>
            function addAnswer(obj, answer){
                let p = document.createElement("p");
                let parent = obj.parentElement;
                p.innerHTML = answer;
                parent.appendChild(p);
            }
        </script>
    </body>
</html>

 

(2)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <h3>클릭하면 90도 회전합니다.</h3>
        <hr>
        <div>
            <p>Q. 거울아 거울아 세상에서 누가 제일 예쁘니?</p>
            <button onclick="addAnswer(this,'백설공주')">답보기</button>
        </div>
        <div>
            <p>Q. 죽느냐 사느냐 어떤 것이 문제인가?</p>
            <button onclick="addAnswer(this,'둘다')">답보기</button>
        </div>
        </ol>
        <script>

            function addAnswer(obj, answer){
                let p = document.createElement("p");
                let parent = obj.parentElement;
                p.innerHTML = answer;

                p.addEventListener("click", 
                    function() {
                        let p = this.parentElement;
                        p.removeChild(this);
                })

                parent.appendChild(p);
            }

        </script>
    </body>
</html>

'1학년 > 명품 HTML+CSS+JS' 카테고리의 다른 글

10. 윈도우와 브라우저 관련 객체 실습문제 정답  (2) 2023.12.08
10. 윈도우와 브라우저 관련 객체 이론문제 정답  (1) 2023.12.07
8. HTML DOM과 Document 이론문제 정답  (0) 2023.12.06
7. 자바스크립트 코어 객체와 배열 실습문제 정답  (5) 2023.12.04
7. 자바스크립트 코어 객체와 배열 이론문제 정답  (1) 2023.12.03
'1학년/명품 HTML+CSS+JS' 카테고리의 다른 글
  • 10. 윈도우와 브라우저 관련 객체 실습문제 정답
  • 10. 윈도우와 브라우저 관련 객체 이론문제 정답
  • 8. HTML DOM과 Document 이론문제 정답
  • 7. 자바스크립트 코어 객체와 배열 실습문제 정답
피까츄
피까츄
프로그래밍 마스터가 될테야
  • 피까츄
    프로그래밍 마스터
    피까츄
  • 전체
    오늘
    어제
    • 분류 전체보기 (65)
      • 컴퓨터가 이상해요 모음집 (3)
      • 프로그래밍 (0)
      • 회고 (0)
      • 1학년 (21)
        • 명품 HTML+CSS+JS (10)
        • 쉽게 배우는 C언어 Express (2)
        • R언어 (9)
      • 2학년 (3)
        • C언어로 쉽게 풀어쓴 자료구조 (1)
        • 프로그래밍 언어론 (2)
      • 개인공부 (25)
        • 백준 (17)
        • 코드트리 JS (7)
        • 코테 공부 (1)
      • 교재 (9)
        • 이것이 C++이다 (0)
        • 이것이 JAVA다 (0)
        • 혼자 공부하는 컴퓨터구조 + 운영체제 (1)
        • 혼자 공부하는 데이터통신 (0)
        • 코어 자바스크립트 (8)
      • 유데미 (3)
        • 100일 코딩 챌린지 (3)
  • 블로그 메뉴

    • 방명록
    • 그림블로그
    • 3D 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    우분투java
    윈도우 기능 켜기
    우분투C
    우분투 설치 오류
    프로그래밍언어론
    0x80370102오류코드
    the package javax.swing is not accessible
    작업표시줄클릭안됨
    js #자바스크립트_기초
    HTML5+CSS3+Javascript 웹 프로그래밍 #연습문제 #이론문제 #실습문제 #풀이 #정답
    복습
    가상현실 설정
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
피까츄
8. HTML DOM과 Document 실습문제 정답
상단으로

티스토리툴바