JavaScriptでの要素の取得方法のまとめ
ピュアなJavaScriptで要素を取得したいとき、getElementByIdなら覚えているのですが、他のものになると忘れてしまうときがあるので、メモも兼ねて基本操作と一緒にまとめておきます。
要素の取得方法一覧
まずは要素の取得方法から、querySelectorとquerySelectorAllがjQueryを使っていた人には馴染み深いと思いますので、基本的にはそれを使っていていいように思います。
| 取得できる要素 | 取得方法 |
|---|---|
| id | document.getElementById(‘id’); |
| class | document.getElementsByClassName(‘class’); |
| HTMLタグ | document.getElementsByTagName(‘h1’); |
| CSSセレクタ(最初の1つ) | document.querySelector(‘#id .class h1’); |
| CSSセレクタ(全て取得) | document.querySelectorAll(‘#id .class’); |
一般的に、使う時は変数内に入れて使用します。
let myElement = document.getElementById('#sample')親子兄弟要素の取得
既に要素を取得していて、その要素の親子兄弟要素を取得したい場合は下記のように書きます(myElementの部分には要素を取得した変数が入ります)。
| 取得できる要素 | 取得方法 |
|---|---|
| すべての子要素を取得 | myElement.children; |
| 最初の子要素を取得 | myElement.firstElementChild; |
| 最後の子要素を取得 | myElement.lastElementChild; |
| 親要素を取得 | myElement.parentElement; |
| 次の兄弟要素を取得 | myElement.nextElementSibling; |
classの変更
classを変更したい時はclassListを使用します(myElementの部分には要素を取得した変数が入ります)。
| できること | 方法 |
|---|---|
| classの追加 | myElement.classList.add(‘active’); |
| classの削除 | myElement.classList.remove(‘active’); |
| classのトグル | myElement.classList.toggle(‘active’); |
jQueryに慣れているといきなりaddやremoveを付けそうになるので注意が必要です。
要素の変更
既にある要素のテキストを変更したい場合や、HTMLを変更したい場合は下記のように書きます(myElementの部分には要素を取得した変数が入ります)。
| できること | 方法 |
|---|---|
| テキストの変更 | myElement.textContent = ‘変更したいテキスト’; |
| HTMLの変更 | myElement.innerHTML = ‘<span class=”text”>変更したいテキスト</span>’; |
よく使うわけではないのですが、たまに使いたくなったときに、思い出せずに困ります。

WordPressでbloginfo()の一部パラメーターの廃止・非推奨に注意!
WordPressのヘッダーにツールバーが表示されないときは、wp_headやwp_footerが入っているか確認
Macで.pemを使ってAmazon EC2インスタンスへSSH接続する方法
「epel-release」インストール後にyum installで「Cannot retrieve metalink for repository」と表示される場合の対処法
scpコマンドでターミナル接続先のリモートファイルをローカルにダウンロードする方法
「EWWW Image Optimizer」を使ってWordPressをWebPに対応する方法
SourceTreeの外部Diff / MergeツールをKaleidoscopeに設定する
JetpackでのError during WebSocket handshakeの解決方法
HTMLが書ければすぐ習得できるテンプレートエンジン「EJS」の基本的な書き方
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
コーディングで「スペース」と「タブ」のどちらを使えばいいのか?
Chrome開発者ツールを使って、CLSエラーの原因となっている場所の特定をする方法
Karabiner-Elementsの独自ルールの作成方法
他人と共通認識を得るために必要な記号・括弧の正式名称一覧
ポモドーロテクニックを実践するために役立つデバイスごとのオススメアプリ
技術ブログを書くときのちょっとした入力や作業をスピーディーに行う小技
さまざまな情報を一元管理するオールインワンのワークスペース「Notion」
高機能なランチャーアプリ「Alfred 4」がリリース!ダークモード対応やWorkflowが強化
CSSだけで画像の比率を保ってトリミングできる「object-fit」
Path Finder 10がリリース!Big Surに完全対応したり、AirDropが使えるように!