[JavaScript] BOM : document 객체 ★

2023. 5. 8. 20:19·JavaScript
728x90
728x90

document 객체

  - 웹 문서에서 <body> 태그를 만나면 만들어지는 객체

  - HTML 문서 정보를 가지고 있음

 

 


노드 접근하기

#  태그 선택자 이용

1
2
3
4
5
6
7
document.querySelector("태그명")
 
// 또는
 
// 컬렉션 타입 반환
// 인덱스 연산자 []를 이용해서 각 노드에 접근 가능
document.getElementsByTagName("태그명"); 
cs

 

#  id 선택자 이용

1
2
3
4
5
document.querySelector("#아이디명")
 
// 또는
 
document.getElementById("아이디명"); // # 없이
cs

 

#  class 선택자 이용

1
2
3
4
5
6
7
document.querySelector(".클래스명")
 
// 또는
 
// 컬렉션 타입 반환
// 인덱스 연산자 []를 이용해서 각 노드에 접근 가능
document.getElementsByClassName("클래스명"); // . 없이
cs

 

#  해당 문서의 form에 접근

1
2
3
4
5
6
7
8
// form들을 컬렉션 타입으로 반환
document.forms
 
// 인덱스 연산자 []를 사용해서 특정 폼에 접근
document.forms[인덱스]
 
// 특정 폼의 특정 폼 요소에 접근
document.forms[인덱스].elements[인덱스]
cs

 

#  포함하고 있는 하위 노드에 접근

1
document.querySelector("요소").querySelecotr("요소")
cs

 

 


#  요소 생성

1
let 노드명 = document.createElement("태그명");
cs

 

#  요소에 속성 값 할당

1
2
3
노드명.setAttribute("속성명", "속성값");
 
// ex : 노드명.setAttribute("class", "card");
cs

 

 

반응형
728x90

노드 속성 및 메서드

#  노드 내 텍스트에 접근

  - 텍스트 가져오기 : 노드명.textContent

  - 텍스트 입력 : 노드명.textContent = "문자열";

 

#  노드 내 HTML 요소에 접근

  - 하위 HTML 요소 가져오기 : 노드명.innerHTML 

  - 하위 HTML 요소 입력 : 노드명.innerHTML = "<h1>제목</h1> <p>내용</p>" ;

  - 하위 HTML 요소 추가 : 노드명.append(하위노드명);

 

#  노드 스타일

  - 해당 노드에 적용된 스타일 목록 가져오기 : 노드명.style

  - 스타일 속성 값 가져오기 : 노드명.style.속성명

  - 스타일 속성 적용 : 노드명.style.속성명 = 속성값;

 

#  이미지 변경

  - 이미지노드명.src = "경로/파일명.확장자";

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 버튼을 클릭할 때마다 이미지가 변경되도록 
 
<script>
    let isImageChange = false;
    let btnChangeNode = document.querySelector("#btnChange");
 
    // 이벤트 리스너
    btnChangeNode.addEventListener("click", changeImage);
 
    // 토글 기능
    function changeImage() {
        let imgNode = document.querySelector("img");
        
        if (isImageChange) {
            imgNode.src = "../js/img2.png";
        } else {
            imgNode.src = "../js/img1.png";
        }
        isImageChange = !isImageChange;
    }
</script>
Colored by Color Scripter
cs

 

#  요소의 상태에 따라 true/false 반환

  - 노드명.checked : 체크박스, 라디오버튼

  - 노드명.selected : 콤보박스

  - 노드명.visible

  - 노드명.hidden

  - 노드명.animated

  → if 문에 활용

 

#  요소 삭제

  - 노드명.remove();

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'JavaScript' 카테고리의 다른 글

[JavaScript] AJAX 통신을 이용해서 데이터 가져오기  (0) 2023.05.09
[JavaScript] toggle() 활용 예제 코드  (0) 2023.05.08
[JavaScript] HTML 렌더링과 JavaScript 실행  (0) 2023.05.08
[JavaScript] 이벤트  (0) 2023.05.08
[JavaScript] 내장 함수  (0) 2023.04.17
'JavaScript' 카테고리의 다른 글
  • [JavaScript] AJAX 통신을 이용해서 데이터 가져오기
  • [JavaScript] toggle() 활용 예제 코드
  • [JavaScript] HTML 렌더링과 JavaScript 실행
  • [JavaScript] 이벤트
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (384)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (16)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    CSS
    typeScript
    Swing
    Wordpress
    git
    java
    errorNote
    SEO
    Hotkeys
    Codeigniter
    티스토리챌린지
    오블완
    php
    개발일지
    SWAGGER
    Android
    HTML
    zapier
    cs
    jQuery
    js
    http
    jsp
    tailwindcss
    vuejs
    SpringBoot
    면접
    SQL
    C#
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[JavaScript] BOM : document 객체 ★
상단으로

티스토리툴바