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

HTML DOM nextSibling 속성 완벽 가이드 - 사용법과 예제

HTML DOM의 nextSibling 속성은 지정된 요소 노드 바로 다음에 위치한 노드를 반환합니다. DOM 트리에서 형제 노드 간의 관계를 탐색할 때 유용하게 사용됩니다.

nextSibling 속성의 주요 특징

이 속성을 사용할 때 반드시 기억해야 할 중요한 특징이 있습니다.

참고: nextSibling 속성은 텍스트 노드와 주석 노드를 무시하지 않습니다. 따라서 HTML 코드에서 요소 사이에 공백이나 줄바꿈이 있으면, 해당 공백도 하나의 텍스트 노드로 인식되어 반환될 수 있습니다. 이 점에 유의하여 마크업을 작성해야 합니다.

구문

nextSibling 노드를 반환하는 기본 구문은 다음과 같습니다.

nodeList.nextSibling

예제

HTML DOM nextSibling 속성의 실제 동작을 확인할 수 있는 예제입니다. 아래 코드는 요일 목록에서 'Saturday' 항목의 다음 형제 노드인 'Sunday'를 찾아 화면에 출력합니다.

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM nextSibling</title>
<style>
    form {
        width:70%;
        margin: 0 auto;
        text-align: center;
    }
    * {
        padding: 2px;
        margin:5px;
    }
    input[type="button"] {
        border-radius: 10px;
    }
    ul{
        width: 30%;
        margin: 0 auto;
    }
</style>
</head>
<body>
    <form>
        <fieldset>
           <legend>HTML-DOM-nextSibling</legend>
           <h3>Grocery Store</h3>
               <ul>
                  <li>Monday</li>
                    <li>Tuesday</li>
                    <li>Wednesday</li>
                   <li>Thursday</li>
                   <li>Friday</li>
                   <li id="Today">Saturday</li><li>Sunday</li>
                   // <li> 요소 사이에 공백을 추가하지 마세요. nextSibling은 공백(텍스트 노드)을 무시하지 않습니다
               </ul>
           <input type="button" onclick="getTimmings()" value="Get Sale Day">
           <div id="divDisplay"></div>
        </fieldset>
    </form>
<script>
    var divDisplay = document.getElementById("divDisplay");
    var dayToday = document.getElementById("Today");
    function getTimmings() {
        divDisplay.textContent = 'Sale on last day of week: '+dayToday.nextSibling.textContent;
    }
</script>
</body>
</html>

실행 결과

'Get Sale Day' 버튼을 클릭하기 전 화면은 다음과 같습니다.

HTML DOM nextSibling 속성 완벽 가이드 - 사용법과 예제

버튼을 클릭하면 JavaScript가 'Today' ID를 가진 Saturday 요소의 nextSibling을 찾아 그 텍스트 내용을 출력합니다. 결과는 다음과 같습니다.

HTML DOM nextSibling 속성 완벽 가이드 - 사용법과 예제

정리

nextSibling 속성은 DOM 탐색 시 매우 유용하지만, 텍스트 노드까지 포함하여 반환한다는 점을 항상 염두에 두어야 합니다. 만약 요소 노드만 필요하다면 nextElementSibling 속성을 사용하는 것이 더 안전하고 직관적인 방법입니다. 이 속성은 텍스트나 주석 노드를 건너뛰고 다음 요소 노드만 반환하기 때문입니다.