HTML DOM ownerDocumentプロパティの使い方を徹底解説
ownerDocumentプロパティとは
HTML DOMのownerDocumentプロパティは、指定したノードが属している(オーナーとなる)Documentオブジェクトを返します。DOMツリー上のすべてのノードは必ずいずれかのドキュメントに所属しており、このプロパティを使えば、そのノードのルートにあたるdocumentノードへ簡単にアクセスできます。
構文
ownerDocumentプロパティの基本的な構文は以下のとおりです。
node.ownerDocument
戻り値
ノードのオーナーであるDocumentオブジェクトを返します。通常のHTML文書内では、ノード名が#documentであるdocumentオブジェクトが返されるのが一般的です。
サンプルコード
ここで、ownerDocumentプロパティの具体的な使用例を見てみましょう。ボタンのオーナードキュメントを取得して表示するシンプルなデモです。
<!DOCTYPE html>
<html>
<head>
<style>
html{
height:100%;
}
body{
text-align:center;
color:#fff;
background: #ff7f5094;
height:100%;
}
p{
font-weight:700;
font-size:1.2rem;
}
.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;
}
</style>
</head>
<body>
<h1>DOM ownerDocument Property Demo</h1>
<p>Who is the owner of this blue button?</p>
<button onclick="showOwner()" class="btn">Get Owner</button>
<div class="show"></div>
<script>
function showOwner() {
document.querySelector(".show").innerHTML=document.querySelector(".btn").ownerDocument.nodeName
}
</script>
</body>
</html>実行結果
上記のコードをブラウザで実行すると、次のような画面が表示されます。

青い「Get Owner」ボタンをクリックしてみましょう。クリックすると、JavaScriptによってボタンのownerDocumentプロパティが参照され、そのオーナーであるドキュメントのノード名が画面に表示されます。

まとめ
ownerDocumentプロパティを使うことで、任意のノードからその親となるDocumentオブジェクトへ容易にアクセスできます。ノードがどのドキュメントに属しているかを確認したい場合や、動的に生成した要素からdocumentオブジェクトを参照したい場合などに役立つ便利なプロパティです。
-
【初心者向け】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使