ドットインストール - 3分動画でマスターできるプログラミング学習サービス
レッスン一覧
料金プラン
レッスン一覧
料金プラン
ログイン
運営からのお知らせ
2025/03/27
NEW
【週刊ドットインストール】 Nuxt入門のレッスンをリリースしました
2024/05/07
NEW
あなただけの学習ロードマップを作成します 【随時受付中】
PREMIUM
【旧版】詳解JavaScript DOM編
JavaScriptからドキュメントを操作するためのDOMを扱う方法について解説していきます。
0%
新しいレッスンがあります
旧版のレッスンは更新を終了しており、現状と異なる場合があります。サポートも終了しておりますので、最新版への移行をお願いします。
PREMIUM
JavaScript入門 DOM編
JavaScriptにおけるDOM操作について詳しく見ていきます。
0%
動画レッスン一覧
(21)
質問と回答
(156)
#01 DOMについて理解しよう
(02:51)
無料公開中
ブラウザの仕組み
DOMツリー
未完了
#02 要素を操作してみよう
(03:00)
無料公開中
querySelector()
getElementById()
未完了
#03 複数の要素を取得してみよう
(02:11)
無料公開中
querySelectorAll()
未完了
#04 要素の取得方法を理解しよう
(02:28)
無料公開中
getElementsByTagName
getElementsByClassName
階層関係を使った要素の取得
未完了
#05 addEventListener()を使ってみよう
(02:13)
無料公開中
addEventListener()
未完了
#06 要素の属性を操作してみよう
(02:32)
title属性の操作
style属性の操作
未完了
#07 classNameを操作してみよう
(02:45)
className
未完了
#08 classListを使ってみよう
(02:28)
classList.add()
classList.remove()
classList.contains()
classList.toggle()
未完了
#09 カスタムデータ属性を扱ってみよう
(01:57)
カスタムデータ属性
dataset
未完了
#10 要素を追加してみよう
(02:38)
createElement()
appendChild()
未完了
#11 要素の複製、 挿入をしてみよう
(02:38)
cloneNode()
insertBefore()
未完了
#12 要素の削除をしてみよう
(01:54)
remove()
removeChild()
未完了
#13 input要素を操作してみよう
(02:29)
値の取得
focus()
未完了
#14 セレクトボックスを操作してみよう
(02:37)
value
selectedIndex
未完了
#15 ラジオボタンを操作してみよう
(02:18)
checked属性の操作
未完了
#16 チェックボックスを操作してみよう
(02:49)
checked属性の操作
配列の文字列表現
未完了
#17 いろいろなイベントを見てみよう
(02:11)
dblclick
mousemove
未完了
#18 イベントオブジェクトを扱ってみよう
(02:07)
イベントオブジェクト
clientX
clientY
key
未完了
#19 フォームで使われるイベントを見てみよう
(02:46)
focus
blur
input
change
未完了
#20 フォームを送信してみよう
(02:53)
submit
preventDefault()
未完了
#21 イベントの伝播を理解しよう
(02:56)
イベント伝播
target
currentTarget
未完了
#02 要素を操作してみよう
querySelector() と getElementById() の違いはなんですか?
2022年8月23日
querySelector('.title h1') と CSS のような表記はできますか?
2022年6月10日
documentはどこから出てきたのですか?
2022年1月27日
関数に()を付けるときと付けないときの違いは何ですか?
2022年1月27日
querySelectorで使っている#(パウンド記号)について知りたい
2022年1月27日
関数の呼び出しに()をつけるかどうかの判断基準は?
2022年1月27日
#03 複数の要素を取得してみよう
forEach は配列以外にも使えるのでしょうか?
2022年1月27日
forEach で引数に要素を渡すと [object HTMLParagraphElement] と表示されたのはなぜですか?
2022年1月27日
index に数値が渡されるのはなぜですか?
2022年1月27日
どうして .textContent を p.textContent にしているのでしょうか?
2022年1月27日
index 番号を 1 からにしたいのですが、どうすればいいですか?
2022年1月27日
querySelectorAll('p')[1, 2]が動きません
2022年1月27日
querySelectorAll()の結果を一気に書き換えられないのですか?
2022年1月27日
#04 要素の取得方法を理解しよう
parentNode の parentNode を取得したい場合、どう表記すればいいですか?
2022年1月27日
何番目の li なのかはどのように判別しているのですか?
2022年1月27日
getElementsByClassName を querySelectorAll で代用する場合の考え方を教えてください。
2022年1月27日
forEachが使えないのはなぜですか?
2022年1月27日
テキストを書き換えてみたのですがうまくいきません
2022年1月27日
#05 addEventListener()を使ってみよう
なぜ update() を使わずにアロー関数を使ったのでしょうか?
2022年9月24日
定数宣言をしていないのに、イベントが発火するのはなぜですか?
2022年9月24日
addEventListener() に渡す関数の引数は定数で指定できますか?
2022年9月3日
addEventListener() に渡せるイベントの一覧を教えてください
2022年6月22日
document.getElementsByClassName("yes") … is not a function と表示されます
2022年6月10日
関数宣言と関数式、アロー関数をそれぞれ書き換えることはできますか?
2022年6月10日
定数を使ってもいいですか?
2022年6月9日
Uncaught TypeError: Cannot set properties of null というエラーが表示されます
2022年2月10日
addEventListener('click') の click を別の名前で書いても問題ありませんか?
2022年1月27日
getElementByTagName() で button は取得できないのですか?
2022年1月27日
第1引数にはシングルコーテーションをつけるのですか?
2022年1月27日
clickのあとの()は何ですか?
2022年1月27日
addEventListenerに渡すものがよくわかりません
2022年1月27日
addEventListener() と onclick属性の使い分けについて
2022年1月27日
#06 要素の属性を操作してみよう
textContent を定数に設定したときにうまく動作しないのはなぜですか?
2023年4月4日
title や textContent プロパティの値を直接変更しているのはなぜですか?
2022年1月27日
定数を定義する際に末尾に . を含めるとうまくいかなかったのですがなぜでしょうか?
2022年1月27日
h1 の title が表示されません
2022年1月27日
「target」としても動作するのはなぜですか?
2022年1月27日
#07 classNameを操作してみよう
.my-color クラスを先に作ってそれを JavaScript で操作する、ということがよくわかりません
2022年3月24日
オブジェクト.xxx = ...; と オブジェクト.xxx(...); の違いがわかりません
2022年2月16日
間に入れる文字の違いがわかりません
2022年1月27日
HTMLにclassを付けていないのに色が変わるのはなぜですか?
2022年1月27日
#08 classListを使ってみよう
複数の要素に対して同時に同じ class を付与または削除したい場合、まとめて処理することは可能ですか?
2023年6月14日
なぜ if (targetNode.classList.contains('my-color') は true なのですか?
2022年1月27日
targetNode.classList.add('my-color');としたらmy-borderが表示される理由がわかりません
2022年1月27日
classList.containsを使わなくてもHTMLのコードを確認すればいいのでは?
2022年1月27日
=== true は必要ないのでは?
2022年1月27日
()とするときと、=とするときの違いは何ですか?
2022年1月27日
#09 カスタムデータ属性を扱ってみよう
カスタムデータ属性を外してテキストの表示を変えるにはどうすればいいですか?
2022年3月24日
要素の取得する方法について教えて下さい
2022年1月27日
こちらの要素と一緒に管理できる、とは?
2022年1月27日
カスタムデータ属性を使うメリットについて教えて下さい
2022年1月27日
#10 要素を追加してみよう
定数名を変えるとうまく動作しません
2022年6月3日
appendChild() に ' ' をつけないのはなぜですか?
2022年1月27日
appendChild(item2) で、 li 要素を子要素として追加できるのはなぜなのでしょうか?
2022年1月27日
document.querySelector 〜 を定数を使わずにそのまま書いても大丈夫ですか?
2022年1月27日
直接HTMLにliを追加すればいいのでは?
2022年1月27日
appendChild()の()には定数以外入らないのですか?
2022年1月27日
#11 要素の複製、 挿入をしてみよう
item 0 をコピーするのはなぜでしょうか?
2022年1月27日
querySelector と querySelectorAll の使い分けを教えてください
2022年1月27日
配列の要素の指定番号がずれているのですが...
2022年1月27日
#12 要素の削除をしてみよう
JavaScript の理解が追いつかなくなってしまいました
2022年8月23日
ボタンを連打するとitem 0が残るのですが正しい動作ですか?
2022年1月27日
古いブラウザでしか対応していないメソッドの使用可否に基準はありますか?
2022年1月27日
remove()とremoveChild()はどう使い分けますか?
2022年1月27日
親要素はいったん定数で保持してもいいですか?
2022年1月27日
「Cannot read property 'addEventListener' of null ...」といったエラーが出ます
2022年1月27日
#13 input要素を操作してみよう
なぜ text は let ではなくて const なのですか?
2023年2月22日
appendChild('li') で li を追加する、というのがわかりません
2022年12月5日
text.value とは何ですか?
2022年11月20日
' ' で囲まれているものと囲まれていないものの違いがわかりません
2022年11月20日
input 要素はどのような場面で使いますか?
2022年8月23日
text.value = ' '; でボタンを押すたびに空になるのはなぜですか?
2022年2月10日
JavaScript で追加した li 要素はどこにあるのですか?
2022年1月27日
定数を使うときと使わない時の違いは何ですか?
2022年1月27日
text.focus() を使用する理由はなんですか?
2022年1月27日
text.focus() ではなく input.focus() としてはいけないのですか?
2022年1月27日
valueで値が取得できるのはなぜですか?
2022年1月27日
要素を指定する際に''が必要かどうか、どう判断しているのですか?
2022年1月27日
なぜ空のulが必要なのでしょうか?
2022年1月27日
#14 セレクトボックスを操作してみよう
一つの画面に二つのボタンがある場合はどのように区別するのですか?
2022年11月9日
クリックしても先に出てきた button しか取得できません
2022年3月7日
なぜ select ではなくて selectedIndex になるのでしょうか?
2022年2月16日
「red」ではなく「赤」という文字列を表示するにはどうすればよいですか?
2022年1月27日
${ } で囲む意味がわかりません
2022年1月27日
カンマがつく時とつかない場合の違いがわかりません
2022年1月27日
なぜvalueでcolorが取得できるのですか?
2022年1月27日
indexがすべてundefinedになってしまいます
2022年1月27日
#15 ラジオボタンを操作してみよう
15 行目の selectedColor はスコープ外ではないのでしょうか?
2022年12月5日
button をクリックしてチェックを外すにはどうすればいいですか?
2022年1月27日
selectedColor を const ではなく let で宣言するのはなぜですか?
2022年1月27日
if (color.checked === true) の「=== true」は省略してもよいですか?
2022年1月27日
colors は複数の値を格納する配列のようなものなのですか?
2022年1月27日
input に name を指定する理由はなんですか?
2022年1月27日
アロー構文で ( ) がなくても正常に動作しているのはなぜですか?
2022年1月27日
colorの違いがわかりません
2022年1月27日
querySelectorで擬似クラスを使用してもいいですか?
2022年1月27日
なぜforEachが使えるのですか?
2022年1月27日
ラジオボタンのチェックを空にするにはどうしたらいいですか?
2022年1月27日
「let selectedColor」としたらどうなるのでしょうか?
2022年1月27日
ラジオボタンにvalue属性の値を入れなかった場合、値が正しく表示されません
2022年1月27日
forEachの中でletを定義してはダメなのか?
2022年1月27日
選択されていない状態で警告を出すにはどうしたらいいですか?
2022年1月27日
#16 チェックボックスを操作してみよう
チェックボックスに name 属性を指定しないのはなぜですか?
2022年5月19日
どうして push() を使うのですか?
2022年6月3日
querySelector("ul") や appendChild(li) など、( ) の中を " " で囲む場合と囲まない場合の違いは何ですか?
2022年3月24日
const selectedColors = []; が初期値なしでエラーにならないのはなぜですか?
2022年2月10日
const selectedColors = []; は let としてはいけないのですか?
2022年1月27日
const selectedColors = []; は、なぜ let ではなく const なのですか?
2022年1月27日
チェックボックスのチェックを空にできません
2022年1月27日
配列だったものが文字列になっているようなのですが、なぜですか?
2022年1月27日
コードを読みやすくするために変数名を変えていいですか?
2022年1月27日
colorの意味がわかりません
2022年1月27日
valueの文字ではなく、テキストを取得したい場合は?
2022年1月27日
選択されていなかったときに警告を出したい
2022年1月27日
ラジオボタンには変数、チェックボックスには定数を使うのはなぜですか?
2022年1月27日
forEachで使っているcolorの意味を教えて下さい
2022年1月27日
なぜラジオボタンとチェックボックスではforEachを使うのか?
2022年1月27日
チェックした項目をリスト形式で表示したい
2022年1月27日
#17 いろいろなイベントを見てみよう
コンソールの表示が更新されません
2022年1月27日
input の警告を JavaScript で拾うにはどうしたら良いですか?
2022年1月27日
コンソールが動画のように表示されません
2022年1月27日
デベロッパーツールを出した状態だと作動しないのはなぜですか?
2022年1月27日
デベロッパーツールを開いたらスマホ用の表示になってしまいます
2022年1月27日
Addがボタンになりません
2022年1月27日
#18 イベントオブジェクトを扱ってみよう
イベントリスナーを削除する方法を教えてください
2022年1月27日
デベロッパーツールでマウスポインターが出なくなってしまいました
2022年1月27日
どうして引数の e にイベントに関する情報が入っているのですか?
2022年1月27日
イベントやプロパティの種類はどのように調べたらよいのですか?
2022年1月27日
マウスを動かしたときの座標がたくさんでるのはなぜですか?
2022年1月27日
XY座標を取得してどう活用するのですか?
2022年1月27日
引数eについてどういうイメージを持っておくべきでしょうか?
2022年1月27日
#19 フォームで使われるイベントを見てみよう
text.value.length の value は何をしているのでしょうか?
2022年1月27日
focus, blur, input, change では、e => は使わないのですか?
2022年1月27日
HTML の input とフォーム部品の input はお互いに干渉しませんか?
2022年1月27日
クオーテーションが付くのはどういう場合ですか?
2022年1月27日
inputとchangeの違いは?
2022年1月27日
#20 フォームを送信してみよう
preventDefault() の用途を教えてください
2022年7月9日
アロー関数の引数には ( ) をつけなくてもいいのですか?
2022年3月2日
イベントハンドラとイベントリスナーの使い分けについて教えてください
2022年1月27日
button タグと input type="button" は同じものですか?
2022年1月27日
document.querySelector('form') で document.querySelector('input') としないのはなぜでしょうか?
2022年1月27日
ページ遷移とは何ですか?
2022年1月27日
button を設置するだけで submit として機能するのはなぜですか?
2022年1月27日
textarea の入力内容をコンソールに表示することはできますか?
2022年1月27日
#21 イベントの伝播を理解しよう
イベントの伝播範囲を具体的に教えてください
2022年6月9日
e.target.classList.toggle('done'); の仕組みがよくわかりません
2022年3月24日
アロー関数の仮引数に e を使用するのはなぜですか?
2022年1月27日
.done が突然出てきましたが、どこでつけられているのでしょうか?
2022年1月27日
ul の click イベントが li にも適用されるのはなぜですか?
2022年1月27日
e.targetとnodeNameの使い方がよくわかりません
2022年1月27日
currentTargetがnullになるのはなぜですか?
2022年1月27日
取消線のクラス名は単に「.done」でもいいですか?
2022年1月27日
「e.target.nodeName === 'LI'」はなぜ必要ですか?
2022年1月27日
コメントアウトのショートカットキーを教えて下さい
2022年1月27日
なぜliはそれぞれ動作するのですか?
2022年1月27日
なぜLIは大文字なのですか?
2022年2月7日
リリース情報(note)
今週は『詳解JavaScript DOM編 (全21回)』をリリースしました
詳細情報
最終更新日
2020年1月23日
バージョン情報
Chrome 79.0 / Visual Studio Code 1.40.0