👋
DOM操作チートシート
自分用チートシートです。
要素の取得
メソッド | 説明 | 例 |
---|---|---|
document.getElementById('id') | 指定されたIDを持つ単一の要素を取得。 | const el = document.getElementById('myId'); |
document.querySelector('selector') | 指定されたCSSセレクタに一致する最初の要素を取得。 | const el = document.querySelector('.myClass'); const el2 = document.querySelector('div.item'); |
document.querySelectorAll('selector') | 指定されたCSSセレクタに一致するすべての要素のNodeList(配列ライク)を取得。 | const els = document.querySelectorAll('li'); const els2 = document.querySelectorAll('div > p'); |
document.getElementsByClassName('class') | 指定されたクラス名を持つすべての要素のHTMLCollection(配列ライク)を取得。 | const els = document.getElementsByClassName('item'); |
document.getElementsByTagName('tag') | 指定されたタグ名を持つすべての要素のHTMLCollectionを取得。 | const els = document.getElementsByTagName('p'); |
element.querySelector('selector') | 指定した要素の子孫からセレクタに一致する最初の要素を取得。 | const child = parentEl.querySelector('span'); |
element.querySelectorAll('selector') | 指定した要素の子孫からセレクタに一致するすべての要素を取得。 | const children = parentEl.querySelectorAll('a'); |
要素の作成と追加/削除
メソッド | 説明 | 例 |
---|---|---|
document.createElement('tagName') | 指定されたタグ名を持つ新しいHTML要素を作成。 | const newDiv = document.createElement('div'); |
element.appendChild(childElement) | 指定した要素の末尾に子要素を追加。 | parentElement.appendChild(newDiv); |
element.removeChild(childElement) | 指定した要素の子要素を削除。 | parentElement.removeChild(childToRemove); |
element.insertBefore(newNode, referenceNode) | referenceNodeの直前にnewNodeを挿入。 | parentElement.insertBefore(newEl, existingEl); |
element.replaceChild(newChild, oldChild) | oldChildをnewChildに置き換える。 | parentElement.replaceChild(newEl, oldEl); |
element.cloneNode(deep) | 要素のクローンを作成。deepがtrueなら子孫もクローン。 | const clone = originalEl.cloneNode(true); |
要素の内容操作
プロパティ/メソッド | 説明 | 例 |
---|---|---|
element.textContent | 要素内のテキストコンテンツ(HTMLタグは無視される)。 | el.textContent = '新しいテキスト'; console.log(el.textContent); |
element.innerHTML | 要素内のHTMLコンテンツ(HTMLタグも含まれる)。 | el.innerHTML = '<strong>太字テキスト</strong>'; console.log(el.innerHTML); |
element.outerHTML | 要素自身を含むHTMLコンテンツ。 | console.log(el.outerHTML); (要素自体も含む) |
属性操作
メソッド | 説明 | 例 |
---|---|---|
element.getAttribute('attrName') | 指定された属性の値を取得。 | const src = imgEl.getAttribute('src'); |
element.setAttribute('attrName', 'value') | 指定された属性の値を設定または更新。 | imgEl.setAttribute('src', 'new_image.jpg'); |
element.removeAttribute('attrName') | 指定された属性を削除。 | imgEl.removeAttribute('alt'); |
element.hasAttribute('attrName') | 指定された属性が存在するかどうかをチェック。 | const hasAlt = imgEl.hasAttribute('alt'); |
element.id / element.className / etc. | 一般的な属性はプロパティとして直接アクセス可能。 | el.id = 'newId'; el.className = 'newClass'; |
スタイル操作
プロパティ | 説明 | 例 |
---|---|---|
element.style.propertyName | インラインスタイルとしてプロパティにアクセス。CSSプロパティはキャメルケースで記述。 | el.style.color = 'red'; el.style.backgroundColor = 'blue'; |
element.classList.add('className') | クラスを追加。 | el.classList.add('active'); |
element.classList.remove('className') | クラスを削除。 | el.classList.remove('active'); |
element.classList.toggle('className') | クラスがあれば削除、なければ追加。 | el.classList.toggle('hidden'); |
element.classList.contains('className') | クラスが含まれているかチェック。 | const hasClass = el.classList.contains('active'); |
イベント処理
メソッド | 説明 | 例 |
---|---|---|
element.addEventListener('event', handler) | 指定したイベントが発生したときに実行される関数を登録。 | btn.addEventListener('click', () => { /* 処理 */ }); |
element.removeEventListener('event', handler) | 登録されたイベントリスナーを削除。 | btn.removeEventListener('click', myHandler); |
event.target | イベントが発生した要素。 | e.target.tagName; |
event.preventDefault() | イベントのデフォルト動作(例: リンクの遷移)をキャンセル。 | e.preventDefault(); |
event.stopPropagation() | イベントのバブリング(親要素への伝播)を停止。 | e.stopPropagation(); |
DOMトラバーサル
プロパティ/メソッド | 説明 | 例 |
---|---|---|
element.parentNode | 親要素。 | const parent = childEl.parentNode; |
element.children | すべての子要素(要素ノードのみ)。HTMLCollectionを返す。 | const children = parentEl.children; |
element.firstElementChild | 最初の子要素。 | const first = parentEl.firstElementChild; |
element.lastElementChild | 最後の子要素。 | const last = parentEl.lastElementChild; |
element.nextElementSibling | 次の兄弟要素。 | const next = currentEl.nextElementSibling; |
element.previousElementSibling | 前の兄弟要素。 | const prev = currentEl.previousElementSibling; |
Discussion