HTML DOMのpreviousSiblingプロパティとは?使い方をサンプルコード付きで解説
HTML DOMのpreviousSiblingプロパティは、HTMLドキュメント内において、指定したノードと同じツリー階層(同じ親ノードを持つ兄弟ノード)の中から、直前のノードを取得するためのプロパティです。JavaScriptでDOMを操作する際、隣接する要素同士の関係を調べたり、前の要素の内容を参照したりしたいときに活用できます。
構文
previousSiblingプロパティの基本的な構文は以下のとおりです。
node.previousSibling
サンプルコード
それでは、previousSiblingプロパティを使用した具体的な例を見てみましょう。この例では、ボタンをクリックすると「Chemistry」リスト項目の直前の兄弟ノードの内容が画面に表示されます。
<!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>
実行結果
上記のコードをブラウザで開くと、次のように表示されます。

画面上の「青色のボタン」をクリックすると、Chemistryリスト項目の直前の兄弟ノードである「Physics」のテキストが取得され、ボタンの下に表示されます。

補足:previousSibling使用時の注意点
previousSiblingプロパティは、要素ノードだけでなく、テキストノードやコメントノードも兄弟ノードとして扱う点に注意が必要です。HTMLソース内のタグとタグの間に改行やインデント(空白文字)が存在する場合、それらがテキストノードとして返されることがあります。
直前の要素ノードのみを確実に取得したい場合は、要素ノードだけを対象とするpreviousElementSiblingプロパティを使用するのがおすすめです。用途に応じて両者を使い分けることで、意図しない動作を防ぐことができます。
-
【初心者向け】HTML DOMのoffsetParentプロパティの使い方とサンプルコード
offsetParentプロパティとは HTML DOM の offsetParent プロパティは、対象要素のオフセット(相対的な位置)がどの親要素を基準として定義されているかを示し、その基準となる親要素への参照を返します。 具体的には、CSS の position プロパティ(relative / absolute / fixed / sticky)が指定された最も近い祖先要素が基準となります。該当する要素が存在しない場合は <body> 要素が返されます。また、テーブルセル内の要素であれば <td> や <table> などのテーブル関連要素が基準にな
-
HTML DOM titleプロパティとは?使い方とサンプルコードを解説
HTML DOM titleプロパティとはHTML DOMのtitleプロパティは、HTML要素のtitle属性に対応する文字列を取得(戻り値として返す)したり、設定したりするためのプロパティです。title属性に値が設定されている場合、その要素にマウスカーソルを重ねると、ツールチップとしてテキストが表示されます。この動的な挙動をJavaScriptから制御できるのが、titleプロパティの役割です。構文title属性の値を取得する場合:ElementOfHTMLObject.titletitle属性に文字列を設定する場合:ElementOfHTMLObject.title = string使