Element.lastElementChild - 最後の子要素を取得する
投稿日: / 更新日:
JavaScriptの、ElementオブジェクトのlastElementChild
は最後の子要素を取得するプロパティです。
説明
ElementオブジェクトのlastElementChildプロパティは、最後の子要素を含みます。テキストノード、コメントノードは含みません。子要素がない場合はnull
が返ります。
<ul>
<li>要素1</li>
<li>要素2</li>
<li>要素3</li>
</ul>
// ulElement = <ul> ... </ul>
// 最後の子要素を取得 ( → <li>要素3</li> )
var lastElementChild = ulElement.lastElementChild ;
似たプロパティにlastChildがあります。lastChildプロパティとlastElementChildプロパティの違いをはっきりさせておくと、用途によって使い分けができます。違いは取得するのに「テキストノード、コメントノードを含むか否か」です。
<ul>
<li>要素1</li>
<li>要素2</li>
<li>要素3</li>↓
</ul>
// ulElement = <ul> ... </ul>
// 最後の子ノードを取得 ( → テキストノード (改行とタブ文字) )
var lastChild = ulElement.lastChild ;
同じul要素のlastChildプロパティは3つ目のli要素ではありません。何故なら、3つ目のli要素とul要素の終了タグの間には改行とタブ文字が存在するからです。lastChildプロパティには、テキストノードとコメントノードを無視しないため、この改行とタブ文字を最後のノードとして認識するわけです。
仮に3つ目のli要素とul要素の終了タグとの間に文字がなければ、lastChildとlastElementChildプロパティの内容は同じです。要素だけを考える場合、lastElementChildプロパティは有用です。
サンプルコード
<ul id="target">
<li>要素1</li>
<li>要素2</li>
<li>要素3</li>
</ul>
// ul要素を取得
var ulElement = document.getElementById( "target" ) ;
// 最後の子要素を取得 ( → <li>要素3</li> )
var lastElementChild = ulElement.lastElementChild ;
デモ
ul要素のlastElementChildプロパティを取得して表示します。コンソールでオブジェクトの中身を確認できます。
構文
readonly Element lastElementChild = Element.lastElementChild
返り値
項目 | 説明 |
---|---|
lastElementChild | 最後の子要素。コメントノード、テキストノードは無視される。 |
関連項目
- Location - ブラウザロケーションのオブジェクト。
- Location.assign() - コンテンツをロードして表示する。
- Location.reload() - ドキュメントをリロードする。
- Location.replace() - 現在のURLを置換する。
外部リンク
- HTML Living Standard - WHATWGによる仕様書。