DOM의 previousSibling 속성은 HTML 문서에서 지정된 노드와 같은 트리 레벨(형제 관계)에 있는 바로 앞의 노드를 반환합니다. 즉, 특정 요소를 기준으로 그 앞에 위치한 형제 노드에 접근할 때 사용됩니다.
문법(Syntax)
previousSibling 속성의 기본 문법은 다음과 같습니다.
node.previousSibling
예제(Example)
아래 예제는 previousSibling 속성을 활용하여 목록 항목의 이전 형제 노드를 가져오는 방법을 보여줍니다.
<!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:50%;
border:2px solid #fff;
font-weight:bold;
padding:8px;
}
ul{
list-style-type: none;
padding:0;
}
.btn{
background:#0197F6;
border:none;
height:2rem;
border-radius:2px;
width:50%;
margin:2rem auto;
display:block;
color:#fff;
outline:none;
cursor:pointer;
}
.show{
font-size:1.5rem;
font-weight:bold;
}
</style>
</head>
<body>
<h1>DOM previousSibling Property Demo</h1>
<p>Hi, My favourite subjects are:</p>
<ul>
<li>Physics</li>
<li id="chemistry">Chemistry</li>
<li>Maths</li>
<li>English</li>
</ul>
<button class="btn" onclick="showSibling()">Show Previous Sibling Of Chemistry</button>
<div class="show"></div>
<script>
function showSibling() {
var chemistry= document.querySelector("#chemistry");
document.querySelector(".show").innerHTML=chemistry.previousSibling.innerHTML;
}
</script>
</body>
</html>출력 결과(Output)
위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

화면의 파란색 버튼을 클릭하면 'Chemistry' 목록 항목의 이전 형제 노드가 화면에 표시됩니다.

참고 사항
previousSibling 속성은 요소 노드뿐만 아니라 공백이나 줄바꿈 같은 텍스트 노드도 함께 반환할 수 있습니다. 만약 오직 요소 노드만 가져오고 싶다면, 공백을 무시하고 이전 요소 형제 노드를 반환하는 previousElementSibling 속성을 사용하는 것이 좋습니다.