Computer >> 컴퓨터 >  >> 프로그래밍 >> HTML

HTML DOM parentNode 속성 완벽 정리 – 부모 노드를 쉽게 찾는 방법

HTML DOM의 parentNode 속성은 HTML 문서에서 지정한 노드의 부모 노드 객체를 반환하는 기능입니다. DOM 트리를 탐색하거나 특정 요소의 상위 구조를 확인할 때 매우 유용하게 사용됩니다.

구문 (Syntax)

parentNode 속성의 기본 문법은 다음과 같습니다.

node.parentNode

이 속성은 읽기 전용(read-only)이며, 해당 노드의 부모가 존재하지 않을 경우(예: 최상위 노드인 경우) null을 반환합니다.

예제 (Example)

아래 예제에서는 셀렉트 박스에서 선택한 option 요소의 부모 노드를 확인해 봅니다.

<!DOCTYPE html>
<html>
<head>
<style>
    html{
       height:100%;
    }
    body{
       text-align:center;
       color:#fff;
       background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat;
       height:100%;
    }
    p{
       font-weight:700;
       font-size:1.2rem;
    }
    .drop-down{
       width:35%;
       border:2px solid #fff;
       font-weight:bold;
       padding:8px;
    }
    .btn{
       background:#0197F6;
       border:none;
       height:2rem;
       border-radius:2px;
       width:35%;
       margin:2rem auto;
       display:block;
       color:#fff;
       outline:none;
       cursor:pointer;
    }
    .show{
       font-size:1.5rem;
       font-weight:bold;
    }
</style>
</head>
<body>
<h1>DOM parentNode 속성 데모</h1>
<p>안녕하세요! 좋아하는 과목을 선택해 주세요:</p>
<select class='drop-down'>
<option>물리학</option>
<option>수학</option>
<option>화학</option>
<option>영어</option>
</select>
<button onclick="showParent()" class="btn">option 요소의 부모 노드 보기</button>
<div class="show"></div>
<script>
    function showParent() {
        var dropDown = document.querySelector(".drop-down");
        var option = dropDown.options[dropDown.selectedIndex];
        var msg = document.querySelector(".show");
        msg.innerHTML = "option 요소의 부모 노드는 " + option.parentNode.nodeName + " 입니다.";
    }
</script>
</body>
</html>

실행 결과 (Output)

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

HTML DOM parentNode 속성 완벽 정리 – 부모 노드를 쉽게 찾는 방법

셀렉트 박스에서 과목을 선택한 후 “option 요소의 부모 노드 보기” 버튼을 클릭하면, 선택된 option 요소의 부모 노드 이름이 아래 영역에 표시됩니다.

HTML DOM parentNode 속성 완벽 정리 – 부모 노드를 쉽게 찾는 방법

참고: parentNode vs parentElement

parentNode와 유사한 속성으로 parentElement가 있습니다. 두 속성의 차이점은 다음과 같습니다.

  • parentNode: 부모가 요소(Element)가 아니더라도(예: 텍스트 노드, 문서 노드 등) 모든 종류의 노드를 반환합니다.
  • parentElement: 부모가 요소 노드일 때만 반환하며, 그렇지 않으면 null을 반환합니다.

따라서 일반적인 DOM 탐색에서는 두 속성의 결과가 같지만, 부모가 반드시 요소여야 하는 경우에는 parentElement를 사용하는 것이 더 안전합니다.