home
twitter
ページトップへ
目次
  • 「Element.children」を使うと何ができるのか?
  • 「Element.children」の使い方!
  • 「HTMLCollection」は厳密には配列じゃない
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2025/01/03 (更新日:2025/01/08)

【JavaScript】「Element.children」の使い方!【子要素を取得】

Categories > JavaScriptの入門編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

この記事では「JavaScript」の「Element.children」の使い方を解説します!

この記事の内容!

  • 「Element.children」を使うと何ができるのか?
  • 「Element.children」の使い方!
また、下の動画でも「element.children」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • 「Element.children」を使うと何ができるのか?
  • 「Element.children」の使い方!
  • 「HTMLCollection」は厳密には配列じゃない
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

「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」などは使えないので注意してください。

配列のように扱いたいならシャロ―コピーを作成すればOK!
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操作をしてみてください!

また、下の動画でも「element.children」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは、こんな感じでこの記事を終わります!

またね!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.