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のwp_is_mobile()で条件分岐をするときは、キャッシュの設定に注意
WordPressの自動バックグラウンド更新を無効にする方法とその注意点
Local by Flywheelのページ遷移を軽くする設定
Nuxt.jsでVuexストア連携を行う方法|Nuxt.jsの基本
効率的にHTMLを生成できるPugの特徴や記述方法
Visual Studio Codeでパス補完機能を細かく設定して自分好みにできる拡張機能「Path Autocomplete」
gulpのwatch機能を使って、監視ファイルに変更があった時にタスクを実行する
gzip圧縮をしてウェブサイトの表示スピードを上げる方法
ウェブサイトをダークモードに対応するときに気をつけること
Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」