[javascript] DOM 탐색 요소 이동 가능 여부 확인하기

웹 페이지를 작성할 때, DOM(Document Object Model) 요소를 탐색하고 이동하는 것은 매우 중요합니다. 때로는 특정 요소의 부모나 자식 요소로 이동해야 하는 경우가 있습니다. 이때, 요소가 특정 방향으로 이동 가능한지 여부를 확인하는 것이 유용할 수 있습니다.

요소 이동 가능 여부 확인하기

DOM에서 어떤 요소가 특정 방향(부모, 자식, 형제)으로 이동 가능한지 확인하려면 다음과 같이 해당 요소의 관련 속성을 사용합니다.

부모 요소로 이동 가능 여부

특정 요소의 부모 요소로 이동 가능한지를 확인하려면 parentNode 속성을 사용하여 부모 요소에 접근하고, 해당 부모 요소가 존재하는지를 확인합니다.

if (element.parentNode) {
  // 부모 요소로 이동 가능함
  // (element.parentNode에 의해 반환된 값이 null이 아님)
} else {
  // 부모 요소로 이동 불가능함
  // (element가 최상위 요소인 경우)
}

자식 요소로 이동 가능 여부

특정 요소의 자식 요소로 이동 가능한지를 확인하려면 childNodes 속성을 사용하여 자식 요소의 목록에 접근하고, 해당 자식 요소의 개수를 확인합니다.

if (element.childNodes.length > 0) {
  // 자식 요소로 이동 가능함
} else {
  // 자식 요소로 이동 불가능함
}

형제 요소로 이동 가능 여부

특정 요소의 형제 요소로 이동 가능한지를 확인하려면 previousSiblingnextSibling 속성을 사용하여 이전 형제 요소와 다음 형제 요소에 접근하고, 해당 형제 요소가 존재하는지를 확인합니다.

if (element.previousSibling) {
  // 이전 형제 요소로 이동 가능함
} else {
  // 이전 형제 요소로 이동 불가능함
  // (element가 첫 번째 자식 요소인 경우)
}

if (element.nextSibling) {
  // 다음 형제 요소로 이동 가능함
} else {
  // 다음 형제 요소로 이동 불가능함
  // (element가 마지막 자식 요소인 경우)
}

위 방법들을 사용하여, DOM에서 특정 방향으로 요소가 이동 가능한지 여부를 쉽게 확인할 수 있습니다.

마무리

DOM에서 요소를 탐색하고 이동하는 것은 웹 개발에서 빈번하게 사용되는 기능이며, 이동 가능 여부를 확인하는 것은 실제로 요소를 조작할 때 매우 유용합니다. 위에서 설명한 방법들을 활용하여 원하는 DOM 요소로 안전하게 이동할 수 있습니다.