[JS] Object | 06. Element

2024. 2. 14. 21:45·Language/JavaScript

Element는 getElement 또는 querySelector 종류의 함수로 얻어지는 요소로,

문서의 각 구성요소에 해당하는 객체입니다.

 

속성 반환값
attributes 속성들
childNodes 하위 객체들
innerHTML 하위 HTML
parentNode 상위 객체
메소드 매개변수 기능 반환값
appendChild(obj) element obj :삽입할 요소 obj를 마지막 자식 요소로 이동  
getAttribute(attr) str attr : 속성 요소의 특정 속성값 가져오기 속성값
getAttributeNode(attr) str attr : 속성 요소의 특정 속성 객체 가져오기 속성 객체
insertBefore(obj, child) element obj : 삽입할 요소
element child : 기준 자식
obj를 child의 바로 전 위치로 이동  
removeChild(obj) element obj : 지울 요소 요소 없애기  
replaceChild(newobj, oldobj) element newobj : 새 요소
element oldobj : 옛 요소
요소 교체  

아래 코드는 버튼의 부모 요소를 찾아 붉은색으로 강조하는 함수 findParent()와

element를 id로 하는 요소의 자식 요소 개수를 알림창으로 띄우는 함수 countChildren()에 대한 코드입니다.

<html>
    <head>
        <meta charset="UTF-8">
        <title>practice11_element</title>
        <script type="text/javascript">
            function findParent(element){
                var parent = element.parentNode;
                parent.style.border = "1px solid red"; // highlights the parent
            }

            function countChildren(element){
                var children = document.getElementById(element).childNodes;
                alert(children.length);
            }
        </script>
    </head>
    <body>
        <div style="border: 1px solid black; height: 50px;">
            <p>
                <button onclick="findParent(this);">find parent element</button>
            </p>
        </div>
        <button onclick="countChildren('container');">counting child elements</button>
        <div id='container' style="border: 1px solid black; height: 100px">
            <span>span element</span>
            <p>p element</p>
        </div>
    </body>
</html>

코드를 실행하고 각 버튼을 눌렀을 때 다음과 같이 출력됩니다.

여기서 알림창의 출력값이 2가 아닌 5가 나옵니다.

그 이유는 id='container'인 요소의 자식은 <span>과 <p> 뿐 아니라, 줄바꿈으로 인식되는 Text 객체 또한 포함되기 때문입니다.

그래서 children 함수가 가지는 요소들을 실제로 다음과 같습니다.

[Text, HTMLSpanElement, Text, HTMLParagraphElement, Text]

728x90

'Language > JavaScript' 카테고리의 다른 글

[JS] Syntax | 05. Callback  (0) 2024.07.22
[JS] Style 속성과 속성값 정리  (0) 2024.02.20
[JS] Object | 05. Document  (0) 2024.02.14
[JS] Object | 04. Cookie  (0) 2024.02.13
[JS] Object | 03. Location & History  (0) 2024.02.13
'Language/JavaScript' 카테고리의 다른 글
  • [JS] Syntax | 05. Callback
  • [JS] Style 속성과 속성값 정리
  • [JS] Object | 05. Document
  • [JS] Object | 04. Cookie
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    backend
    expo
    API
    Three
    CSS
    js
    PyTorch
    nodejs
    CS
    figma
    review
    vscode
    python
    DB
    frontend
    PRISMA
    ML
    Git
    SOLID
    ReactNative
    mongo
    CV
    modal
    postgresql
    ps
    deploy
    react
    ts
    GAN
    Express
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[JS] Object | 06. Element
상단으로

티스토리툴바