HTML DOMのfirstChildプロパティとは?使い方と注意点を解説
HTML DOMのfirstChildプロパティは、特定のノードの最初の子ノードをノードオブジェクトとして返すために使用されます。返される内容は、最初の子ノードの種類に応じて、テキストノード・要素ノード・コメントノードのいずれかになります。なお、このプロパティは読み取り専用です。
構文
HTML DOM firstChildプロパティの基本構文は以下のとおりです。
node.firstChild
サンプルコード
ここで、firstChildプロパティの具体的な使用例を見てみましょう。
<!DOCTYPE html>
<html>
<head>
<script>
function getFirst() {
var ch = document.getElementById("DIV1").firstChild.innerHTML;
document.getElementById("Sample").innerHTML = "The first child node of the div is :"+ch;
}
</script>
</head>
<body>
<h1>firstChild property</h1>
<div id="DIV1"><p>This is a p element</p><span>This is a span element</span></div>
<button onclick="getFirst()">Get Child</button>
<p id="Sample"></p>
</body>
</html>実行結果
上記のコードを実行すると、次のように表示されます。

「Get Child」ボタンをクリックすると、次のようになります。

コードの解説
まず、<div>要素の中に<p>要素と<span>要素を配置しています。ここで重要なのは、div要素内に空白や改行を含めないことです。firstChildプロパティは空白文字もテキストノードとして扱うため、div要素内に空白があると、その空白部分が「最初の子ノード」と見なされてしまい、期待した要素ではなくundefinedが返される原因となります。
<div id="DIV1"><p>This is a p element</p><span>This is a span element</span></div>
次に、ユーザーがクリックするとgetFirst()メソッドを実行する「Get Child」ボタンを作成しています。
<button onclick="getFirst()">Get Child</button>
getFirst()メソッドでは、firstChildプロパティを使ってdiv要素の最初の子ノードを取得します。この例では<p>要素が返されます。続いて、innerHTMLプロパティでp要素内のテキストを取得し、変数chに代入します。最後に、idが「Sample」の段落に対してinnerHTMLプロパティ経由でテキストを設定することで、取得した内容を画面に表示しています。
function getFirst() {
var ch = document.getElementById("DIV1").firstChild.innerHTML;
document.getElementById("Sample").innerHTML = "The first child node of the div is :"+ch;
}まとめ
firstChildプロパティは便利ですが、空白文字をテキストノードとして扱う特性を理解しておく必要があります。確実に要素ノードを取得したい場合は、空白を含まないマークアップを心がけるか、firstElementChildプロパティ(最初の子要素のみを返す)を利用するのがおすすめです。
-
HTML DOM StyleのpageBreakInsideプロパティとは?構文と使い方を実例付きで解説
HTML DOMのpageBreakInsideプロパティは、HTML文書内の特定の要素「内部」における改ページ(ページ区切り)の挙動を取得・変更するためのプロパティです。主に印刷や印刷プレビューの際に、要素の途中でページが分断されるのを防ぎたい場合などに活用されます。構文pageBreakInsideプロパティの基本的な構文は以下のとおりです。1. 値を取得する場合object.pageBreakInside2. 値を設定する場合object.pageBreakInside = value指定できる値valueには以下のいずれかの値を指定できます。値説明auto必要に応じて、要素の内部に改ペ
-
HTML DOMのdisplayプロパティとは?使い方と全設定値をわかりやすく解説
HTML DOMのdisplayプロパティは、要素の表示形式(表示タイプ)を設定または取得するために使用されるプロパティです。要素の表示は主に「block(ブロック)」と「inline(インライン)」の2種類に分類されます。また、display:noneを指定することで、要素を画面上から完全に非表示にすることも可能です。 displayプロパティの構文 displayプロパティを設定する場合の構文は以下のとおりです。 object.style.display = value displayプロパティに指定できる値の一覧 displayプロパティには、以下のような値を指定できます。 値説明