【JavaScript】「Element.children」の使い方!【子要素を取得】
しゅーた(@chibasyuta)です!
この記事では「JavaScript」の「Element.children」の使い方を解説します!
この記事の内容!
- 「Element.children」を使うと何ができるのか?
- 「Element.children」の使い方!
それでは内容へ入ります!
「Element.children」を使うと何ができるのか?
「JavaScript」から「子要素」にスタイルやクラスをつけたい場合などに使うことができますね。
また、「HTMLCollection」という「配列のようなもの」として子要素が返ってきます。
「HTMLCollection」では「forEach」は使えませんが、添え字を使って「child[1]」のような形でアクセスすることができます。
「Element.children」の使い方!
<div class="container">
<div id="parent">
<p>1番目の子</p>
<p>2番目の子</p>
<span>3番目の子</span>
</div>
</div>
.container {
width: 700px;
margin: 130px auto;
font-size: 40px;
}
const parentElement = document.getElementById('parent');
const children = parentElement.children;
console.log(children); // HTMLCollection の内容を表示
// 個別の要素を取得
for (let i = 0; i < children.length; i++) {
console.log(children[i]); // 直接の子要素を表示
}
このように「Element.children」は使うことができます。
配列のように「0から振られるインデックス番号」があるので、「children[i]」みたいな感じで、個別の要素にアクセスすることができます。
なのでそれを利用して、「for()文」などを使うことができますね。
ですが、「Element.children」で返ってくるのは「HTMLCollection」であって、配列ではないので、「forEach」などは使えない点に注意しましょう。
「HTMLCollection」は厳密には配列じゃない
「Element.children」で返ってくる「HTMLCollection」は厳密には配列じゃないので、配列にできる操作が全て行える訳ではありません。
ただ、「0」から始まるインデックス番号が振られているので、「children[i]」のように書くことで配列のように個別の要素を取り出せるのですが、「forEach」などは使えないので注意してください。
const parentElement = document.getElementById('parent');
const childrenArray = Array.from(parentElement.children);
childrenArray.forEach(child => console.log(child));
「Array.from」を使うと、「配列風のもの」から「配列」を作ることができます。
そうすることで、配列として扱うことができるので、「forEach」が使えます。
参考リンク!
仕様書。
https://dom.spec.whatwg.org/#ref-for-dom-parentnode-children%E2%91%A0
https://dom.spec.whatwg.org/#interface-htmlcollection
https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.from
MDN。
https://developer.mozilla.org/ja/docs/Web/API/Element/children
https://developer.mozilla.org/ja/docs/Web/API/HTMLCollection
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/from
おすすめの再生リスト!
こちらは僕が制作したYouTubeの再生リスト「JavaScriptの入門編」です。
「JavaScriptの入門編」はWeb制作を勉強している方がJavaScriptに入門する際に知っておきたい情報をまとめたコンテンツとなります。
こちらの再生リストで「JavaScript」について「丁寧」に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!
まとめ!
「Element.children」は、DOM操作において非常に強力なツールです。様々な場面での使用が考えられます。
ぜひ使いこなして、より幅広いDOM操作をしてみてください!
それでは、こんな感じでこの記事を終わります!
またね!