createElement で要素を作る
createElement は、JavaScript で新しい HTML 要素を作成するメソッドです。動的にコンテンツを追加するときの基本となります。
基本的な使い方
document.createElement(tagName) でタグ名を指定して要素を作ります。
const div = document.createElement('div');
const p = document.createElement('p');
const button = document.createElement('button');この時点では要素が作られただけで、まだページには表示されません。表示するには DOM に追加する必要があります。
要素に中身を入れる
作成した要素にテキストや属性を設定します。
const p = document.createElement('p');
p.textContent = 'こんにちは!';
p.id = 'greeting';
p.className = 'message';ページに追加する
appendChild などを使って DOM に追加すると、ページに表示されます。
const p = document.createElement('p');
p.textContent = 'こんにちは!';
document.body.appendChild(p); // body の末尾に追加実際に動かしてみよう
ボタンをクリックすると、新しい要素が追加されます。
HTML
CSS
JavaScript
<div id="container"></div>
<button id="addBtn">要素を追加</button>.item {
padding: 8px;
margin: 4px;
background: #e0e0e0;
border-radius: 4px;
}let count = 0;
document.getElementById('addBtn').addEventListener('click', function() {
count++;
const item = document.createElement('div');
item.className = 'item';
item.textContent = '項目 ' + count;
document.getElementById('container').appendChild(item);
});複数の属性を設定する
const link = document.createElement('a');
link.href = 'https://example.com';
link.textContent = 'リンク';
link.target = '_blank';
link.rel = 'noopener';createElement と innerHTML の違い
createElement
安全で高速。要素を個別に作成して操作できる
innerHTML
文字列で一気に書ける。XSS に注意が必要
ユーザー入力を含む場合は createElement + textContent が安全です。innerHTML にユーザー入力を入れると、スクリプトが実行される危険があります。