高校倫理1441553 views
雑学1473806 views
中学理科1631666 views
高校物理160808 views
ヒストリア292018 views
高校化学2926977 views
小学社会310824 views
いろは3015680 views
LaTeX963205 views
教育149663 views
Help
Tools

English

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 にユーザー入力を入れると、スクリプトが実行される危険があります。