1
/
5

JavaScriptとDOM操作

こんにちは! 株式会社アルシエで教育に関するサポートをしている岸本です。

今回は「JavaScriptとDOM操作」についてお伝えしていきます。

JavaScriptとDOM操作

Web開発でJavaScriptを使用してDOM操作をすることは重要です。

DOMはWebページの構成を表現し、JavaScriptを使用して操作することで、ページの動作を実現できます。

DOMとは何か?

DOMは、HTMLのプログラム内の表現です。

Webページの要素(タグ、テキストなど)にJavaScriptからのアクセスを可能にするオブジェクトです。

ページ上の要素を変更したり、イベントを処理したりすることができます。

DOM要素の選択

JavaScriptでDOM要素を選択する方法はいくつかあります。

getElementByIdquerySelectorgetElementsByClassNameなどのメソッドを使用して、要素を取得します。

// IDを使用して要素を選択
const myElement = document.getElementById('my-element');

// セレクタを使用して要素を選択
const header = document.querySelector('header');

// クラス名を使用して要素を選択(複数の要素が返される)
const buttons = document.getElementsByClassName('btn');

DOM要素の変更

DOM要素を変更する方法には、テキストの変更、属性の変更、新しい要素の追加、要素の削除などがあります。

テキストの変更

// テキストの変更
myElement.textContent = '新しいテキスト';

属性の変更

// 属性の変更
myElement.setAttribute('src', 'new-image.jpg');

新しい要素を作成して追加

新しい段落要素が作成され、document.body(HTMLの<body>要素)に追加されます。

const newElement = document.createElement('p');
newElement.textContent = '新しい段落';
document.body.appendChild(newElement);

要素を削除

element-to-remove というIDを持つ要素が削除されます。

const elementToRemove = document.getElementById('element-to-remove');
elementToRemove.remove();

要素のスタイルを変更

styled-element というIDを持つ要素のテキストの色と背景色が変更されます。

const styledElement = document.getElementById('styled-element');
styledElement.style.color = 'red';
styledElement.style.backgroundColor = 'yellow';

下記は、HTMLも組み合わせた例です。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JavaScriptとDOM操作</title>
<style>
/* CSSスタイルを追加 */
#my-element {
color: blue;
}
</style>
</head>
<body>
<h1>JavaScriptとDOM操作</h1>

<!-- ID"my-element"の要素を選択してテキストを変更 -->
<p id="my-element">初めてのDOM操作</p>

<button id="change-text">テキストを変更</button>
<button id="add-element">新しい要素を追加</button>
<button id="remove-element">要素を削除</button>

<script>
// テキストを変更する関数
function changeText() {
const myElement = document.getElementById('my-element');
myElement.textContent = 'テキストが変更されました!';
}

// 新しい段落要素を追加する関数
function addNewElement() {
const newElement = document.createElement('p');
newElement.textContent = '新しい段落が追加されました!';
document.body.appendChild(newElement);
}

// 要素を削除する関数
function removeElement() {
const elementToRemove = document.getElementById('my-element');
elementToRemove.remove();
}

// クリックイベントのハンドリング
document.getElementById('change-text').addEventListener('click', changeText);
document.getElementById('add-element').addEventListener('click', addNewElement);
document.getElementById('remove-element').addEventListener('click', removeElement);
</script>
</body>
</html>

イベントハンドリング

DOM要素に対するイベント(クリック、マウスオーバー、フォーム送信など)を処理するには、イベントハンドラーを使用します。

クリックイベント

クリックをしたら、「要素がクリックされました!」というアラートが表示されます。

// クリックイベントのハンドリング
myElement.addEventListener('click', () => {
alert('要素がクリックされました!');
});

キーボードイベントのハンドリング

ページ全体でキーが押されるのを監視し、Enterキーが押されたときにアラートを表示します。

document.addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
alert('Enterキーが押されました!');
}
});

フォーム送信イベントのハンドリング

フォームが送信されると、フォームのデフォルトの送信を防止し、入力フィールドの値をアラートで表示します。

const myForm = document.getElementById('my-form');
myForm.addEventListener('submit', function(event) {
event.preventDefault(); // フォームのデフォルトの送信を防止
const inputValue = document.getElementById('input-field').value;
alert(`入力値: ${inputValue}`);
});


JavaScriptでDOM要素にアクセスし、ウェブページの外観や機能を動的にすることができます。

ぜひ、試してみてください。

Invitation from 株式会社アルシエ
If this story triggered your interest, have a chat with the team?
株式会社アルシエ's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings
Like Naomichi Totsuka's Story
Let Naomichi Totsuka's company know you're interested in their content