나의 수업일지

인천 일보 아카데미 34일차 -3- DOM - Document / DOM - 태그에 내용 추가,수정 / DOM - id로 요소 가져오기 / DOM - class로 요소가져오기

2023. 4. 10. 21:52
  • DOM이란 ?

html의 body부분을 javascript로 가져와 변수로 사용하기 위해 주로 사용됩니다

쉽게 말하면 javascript에서 html을 제어하는것을 말합니다

DOM의 구조

 

 

  • DOM - document의 사용 예시

Document  객체

Document 객체는 웹 페이지 그 자체를 의미합니다.

웹 페이지에 존재하는 HTML 요소에 접근하고자 할 때는 반드시 Document 객체부터 시작해야 합니다.

<script>
    // document 객체 값 출력
    console.log(document);
</script>

 

이렇게 document로 html의 모든 정보를 가져와 document의 메소드와 함께 사용합니다

아직 다 배우지는 못했지만 document 객체의 대표적인 메소드 기능은

html 요소 선택 , html 요소 생성 , html 이벤트 추가 , html 객체 선택 정도가 있습니다

 

 

- html 요소 선택

이미지 출처 : TCP School

그중 오늘 알아볼 내용은 html 요소 선택부분입니다

 

 

- document.get.ElementByTagName("태그")

<script>
    // 현재 문서에 있는 모든 h2 요소 출력
    console.log(document.getElementsByTagName("h2"));
</script>

 

 

- const 변수이름 = document.getElementsByTagName("h2");

<script>
    변수 h2All 에 해당 태그 이름의 모든 요소를 배열로 넣음
    const h2All = document.getElementsByTagName("h2");
    
    배열로 대입받은 h2All 출력
    console.log(h2All);
    
    h2All의 0번째칸 출력
    console.log(h2All[0]);
</script>

 

 

- 태그의 속성값 출력 & 텍스트만 출력

<script>
    //(해당 태그 안의 태그까지 모두 출력해줌)
    console.log(h2All[0].innerHTML);
    
    //첫번째 h2 태그의 innerText 속성값 출력
    //(해당 태그 안의 Text만 모두 출력해줌)
    console.log(h2All[0].innerText);
</script>

 

 

- 반복문을 확용하여 h2요소들의 innerText 출력

<script>
    //반복문을 확용하여 h2요소들의 innerText 출력
    for (let a = 0; a < h2All.length; a++) {
        console.log(h2All[a].innerText);
    }
</script>

 

 

- document.querySelector("css선택자")

<script>
// querySelector(css선택자): 해당 요소 중 첫번째 것만 가져옴
    console.log(document.querySelector("h2"));
</script>

 

 

- document.querySelectorAll("css선택자")

<script>
    // All을 붙이면 모두 가져옴
    console.log(document.querySelectorAll("h2"));
</script>

 

 

- 내용이 없는 h4 태그에 텍스트 추가하기

<script>
    // h4태그 요소 가져오기
    const h4ele = document.getElementsByTagName("h4");
    // h4태그 innerText 값
    h4ele[0].innerText = "이 내용이 화면에 보입니다";
</script>

 

 

- h4태그에 텍스트 수정하기

<script>
    document.getElementsByTagName("h4")[0].innerText = "ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ"
</script>

 

 

- id가 적용된 요소 가져오기

ElementById 와 querySelector 2가지 방법이 있다

<script>
    const ele1 = document.getElementById("id1");
    const ele2 = document.querySelector('#id1');
    console.log(ele1.innerText);
    console.log(ele2.innerText);
</script>

 

- class가 적용된 모든 요소 가져오기

<script>
    // class1이 적용된 모든 요소 가져오기
    const ele3 = document.getElementsByClassName("class1");
    const ele4 = document.querySelectorAll('.class2');
    
    for (let i = 0; i < ele3.length; i++) {
        console.log(ele3[i].innerText);
    }

    for (let i = 0; i < ele3.length; i++) {
        console.log(ele4[i].innerText);
    }
</script>

 

 

자투리 - 왜 id출력문과 class의 출력문이 다른가?

html에서 id는 같은 이름으로 중복 사용이 불가능하다

하지만 class는 같은 class이름 중복 사용이 가능하기 때문에

애초에 getElementById가 복수형이 아닌것과 마찬가지로 출력문도 다르다

하지만 class도 배열의 번호만 알고 있다면 for문을 사용할 필요는 없다

'나의 수업일지' 카테고리의 다른 글

인천 일보 아카데미 35일차 -숙제- 계산기 / 학점 관리 프로그램  (0) 2023.04.12
인천 일보 아카데미 35일차 -1- DOM - 응용 / DOM - 이미지 변경 /script로 html - style 제어하기 / DOM - 사용 표에 구구단 출력 / DOM - 입력값 이동시키기  (0) 2023.04.11
인천 일보 아카데미 34 -2- javascript - let , const , var / typeof - 변수 타입 출력 / 등호 == , === / javascript - 객체 / html - events  (0) 2023.04.10
인천 일보 아카데미 34일차 -1- form-button? / Input Object의 기본 종류 / 만들어보기 / bootstrap 사용해보기  (0) 2023.04.10
인천 일보 아카데미 33일차 -1- layout 만들기 / mediaquery / grid / / bootstrap / buttons / form / option / radio /checkbox  (0) 2023.04.10
'나의 수업일지' 카테고리의 다른 글
  • 인천 일보 아카데미 35일차 -숙제- 계산기 / 학점 관리 프로그램
  • 인천 일보 아카데미 35일차 -1- DOM - 응용 / DOM - 이미지 변경 /script로 html - style 제어하기 / DOM - 사용 표에 구구단 출력 / DOM - 입력값 이동시키기
  • 인천 일보 아카데미 34 -2- javascript - let , const , var / typeof - 변수 타입 출력 / 등호 == , === / javascript - 객체 / html - events
  • 인천 일보 아카데미 34일차 -1- form-button? / Input Object의 기본 종류 / 만들어보기 / bootstrap 사용해보기
GUPING
GUPING
안녕하세요 개발자를 꿈꾸는 GUPING 입니다
GUPING
개발자를 꿈꾸는 GUPING
GUPING
전체
오늘
어제
  • 분류 전체보기 (89)
    • 나의 수업일지 (88)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • realative
  • 틀만들기
  • 로그인게시판
  • 네이버
  • 검색결과페이징
  • 버튼2가지이벤트
  • naver
  • 파일 이름 가져오기
  • 검색
  • 답변 채택
  • PAGE
  • 버튼 이벤트 변경
  • 다중프리뷰
  • 로그인 경고문
  • 페이징Controller
  • 개힘드렁
  • 수정
  • Ajax
  • 버튼 이벤트 함수 변경
  • 클래스 이름 변경
  • 로그인form
  • 파일이름(다중)
  • 삭제
  • 파일이름가져오기
  • pagingAjax
  • Paging
  • 페이징
  • 업로드파일이름출력
  • 여러사진프리뷰
  • 지식인

최근 댓글

최근 글

hELLO · Designed By 정상우.
GUPING
인천 일보 아카데미 34일차 -3- DOM - Document / DOM - 태그에 내용 추가,수정 / DOM - id로 요소 가져오기 / DOM - class로 요소가져오기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.