高校化学2914160 views
小学理科717454 views
教育148958 views
りんご194232 views
いろは2988729 views
数学講師2856326 views
小学社会308762 views
高校国語785873 views
高校日本史189916 views
雑学1472721 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 にユーザー入力を入れると、スクリプトが実行される危険があります。