言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. HTML要素.parentNode / parentElement

HTML要素.parentNode / parentElement 対応: DOM Level 1(1998)

HTML要素の親要素を取得するプロパティです。『parentNode』は親ノードを返し、『parentElement』は親要素がHTML要素の場合のみ返します。

構文

// 親ノードを取得します。
var parent = element.parentNode;

// 親要素がHTML要素の場合のみ取得します。
var parent = element.parentElement;

プロパティ一覧

プロパティ概要
parentNode親ノードを返します。親ノードはHTML要素のほか、DocumentやDocumentFragmentの場合もあります。親が存在しない場合は『null』を返します。
parentElement親ノードがHTML要素の場合のみ返します。親がDocumentなどHTML要素でない場合は『null』を返します。

サンプルコード

<div id="container">
	<ul id="list">
		<li id="item">項目1</li>
	</ul>
</div>
var item = document.querySelector("#item");

// 親要素を取得します。
console.log(item.parentNode); // ul#list が返されます。
console.log(item.parentElement); // ul#list が返されます。

// 親の親をたどることもできます。
console.log(item.parentNode.parentNode); // div#container が返されます。

// html要素の親はDocumentのため、parentElementは『null』になります。
var html = document.documentElement;
console.log(html.parentNode); // #document が返されます。
console.log(html.parentElement); // 『null』が返されます。

概要

『HTML要素.parentNode』と『HTML要素.parentElement』はどちらもHTML要素の親を取得するプロパティです。通常のDOM操作ではどちらを使っても同じ結果になりますが、『<html>』要素の親はDocumentノードであるため、その場合のみ動作が異なります。『parentNode』はDocumentを返しますが、『parentElement』はHTML要素ではないため『null』を返します。

よく使われるパターンとして、子要素から親要素を取得して『親HTML要素.removeChild()』で子要素を削除する方法があります。ただし、単純にHTML要素を削除したいだけであれば『HTML要素.remove()』を使用する方が簡潔です。

祖先方向にHTML要素を検索したい場合は『HTML要素.closest()』を使用すると、セレクタ指定で効率的に目的のHTML要素を見つけられます。

対応ブラウザ

Chrome Chrome
49 以降
全バージョンで対応しています
Firefox Firefox
57 以降
全バージョンで対応しています
Safari Safari
18 以降
1 以前 ×
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
4.5 以前 ×
Opera Opera
48 以降
6 以前 ×
iOS Safari iOS Safari
18 以降
全バージョンで対応しています
Android Browser Android Browser
37 以降
4 以前 ×
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
3 以前 ×

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。