jQueryを使って「HTML要素を動的に追加したい」と思ったとき、どのメソッドを使えばいいのか迷った経験はありませんか?
かすが.append() や .prepend()、.before() など、似たような名前の関数が多くて混乱しますよね。
ということでjQueryの要素を追加するメソッドをまとめます。ぜひブックマークしていただき、迷った時のチートシートとしてご活用ください。
要素を追加するメソッド一覧表
要素を追加するメソッドは、まあまあ種類がある上に、



マジでコレとコレの違いなんだっけ?
となるので一覧表で整理しましょう!
メソッド名はページ内リンクになっているのでクリックで該当の説明箇所へジャンプできます。
| メソッド名 | 追加される位置 | 説明 |
|---|---|---|
| append() | 親要素の最後の子要素として追加。 | 指定した要素の末尾に子要素を追加する |
| appendTo() | 親要素の最後の子要素として追加。 | append()の構文が逆になったバージョン |
| prepend() | 親要素の最初の子要素として追加。 | 指定した要素の先頭に子要素を追加する |
| prependTo() | 親要素の最初の子要素として追加。 | prepend()の構文が逆になったバージョン |
| before() | 対象要素の直前に追加。 | 指定した要素の前に新しい要素を挿入する |
| insertBefore() | 対象要素の直前に追加。 | before()の構文が逆になったバージョン |
| after() | 対象要素の直後に追加。 | 指定した要素の後ろに新しい要素を挿入する |
| insertAfter() | 対象要素の直後に追加。 | after()の構文が逆になったバージョン |
| wrap() | 指定した要素で対象要素を囲む | 対象となる要素の外側に新しいHTML構造を追加して囲む |
| wrapInner() | 指定した要素で内側のコンテンツを囲む | 対象要素の中にある内容だけを新しいHTMLで囲む |
| wrapAll() | 指定した複数要素をまとめて1つの要素で囲む | 複数の要素全体を1つの新しい要素で囲む |
この後、それぞれの基本的な使い方を解説していきます。
append() ・appendTo() :子要素の最後に追加
append()・appendTo() は、指定した親要素の最後に子要素を追加します。
append()
基本構文
$(親要素).append(追加する要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('#list').append('<li>最後に追加</li>');
結果
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
<li>最後に追加</li>
</ul>
appendTo()
基本構文
$(追加する要素).appendTo(親要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('<li>最後に追加</li>').appendTo('#list');
結果
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
<li>最後に追加</li>
</ul>
append() ・appendTo()について、以下の記事で詳しく解説していますのでチェックしてみてください。


prepend() ・prependTo() :子要素の先頭に追加
prepend() ・prependTo()は、append()の「逆」とも言えるメソッドで、指定した親要素の先頭に子要素を追加します。
prepend()
基本構文
$(親要素).prepend(追加する要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('#list').prepend('<li>先頭に追加</li>');
結果
<ul id="list">
<li>先頭に追加</li>
<li>リスト1</li>
<li>リスト2</li>
</ul>
prependTo()
基本構文
$(追加する要素).prependTo(親要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('<li>先頭に追加</li>').prependTo('#list');
結果
<ul id="list">
<li>先頭に追加</li>
<li>リスト1</li>
<li>リスト2</li>
</ul>
prepend() ・prependTo()について、以下の記事で詳しく解説していますのでチェックしてみてください。


before()・insertBefore() :指定要素の前に追加
before()・insertBefore()は、指定した要素の直前に新しい要素やテキストを挿入するメソッドです。
「指定要素の中」ではなく、「指定要素の兄弟要素として前に挿入される」という点がポイントになります。
before()
基本構文
$(指定要素).before(追加する要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('#list').before('<p>#listの前に追加</p>');
結果
<p>#listの前に追加</p>
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
insertBefore()
基本構文
$(追加する要素).insertBefore(対象要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('<p>#listの前に追加</p>').insertBefore('#list');
結果
<p>#listの前に追加</p>
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>



append()・appendTo()、prepend() ・prependTo()ときて、なぜbefore()はbeforeTo()じゃなくinsertBefore()なのか謎ですよね…。
after() ・insertAfter() :指定要素の後に追加
after()・insertAfter()は、指定した要素の直後に新しい要素やテキストを挿入するメソッドです。
「指定要素の中」ではなく、「指定要素の兄弟要素として後に挿入される」という点がポイントになります。
after()
基本構文
$(対象要素).after(追加する要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('#list').after('<p>#listの後に追加</p>');
結果
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
<p>#listの後に追加</p>
insertAfter()
基本構文
$(追加する要素).insertAfter(対象要素);
HTML
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
jQuery
$('<p>#listの後に追加</p>').insertAfter('#list');
結果
<ul id="list">
<li>リスト1</li>
<li>リスト2</li>
</ul>
<p>#listの後に追加</p>
wrap()・wrapInner()・wrapAll():指定要素を囲む
wrap()
wrap() は、対象の各要素を1つずつ、新しい要素で個別に囲むためのメソッドです。
基本構文
$(対象要素).wrap('<div class="wrapper"></div>');
HTML
<div class="box">box1</div>
<div class="box">box2</div>
jQuery
$('.box').wrap('<div class="wrapper"></div>');
結果
<div class="wrapper">
<div class="box">box1</div>
</div>
<div class="wrapper">
<div class="box">box2</div>
</div>
wrapInner()
wrapInner()は、対象要素の中のコンテンツ(子要素すべて)を1つの要素で囲むメソッドです。
対象そのものを囲むのではなく、「内側の要素をラップする」という点がポイントです。
基本構文
$(対象要素).wrapInner('<div class="inner-wrapper"></div>');
HTML
<div class="wrap">
<h1>タイトル</h1>
<p>テキスト</p>
</div>
jQuery
$('.wrap').wrapInner('<div class="inner-wrapper"></div>');
結果
<div class="wrap">
<div class="inner-wrapper">
<h1>タイトル</h1>
<p>テキスト</p>
</div>
</div>
wrapAll()
wrapAll()は、複数の要素全体をまとめて1つの要素で囲むメソッドです。
wrap()が個別ラップなのに対し、こちらは全体を1つの親要素で包む点が大きな違いです。
基本構文
$(対象要素).wrapAll('<div class="group-wrapper"></div>');
HTML
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
jQuery
$('.section').wrapAll('<div class="group-wrapper"></div>');
結果
<div class="group-wrapper">
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
</div>
上の例では、.sectionが並んでいましたが、間に違う要素があった場合はどうなるかやってみます。
HTML
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section-other">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section-other">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
.sectionと.section-otherを交互に並べてみました。jQueryは変わらずです。
結果
<div class="group-wrapper">
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
</div>
<section class="section-other">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
<section class="section-other">
<h1>タイトル</h1>
<p>テキスト</p>
</section>
場所は離れていても、指定した.sectionだけがラップされます。
wrap系メソッドの違いまとめ:
| メソッド名 | ラップされる範囲 | 主な用途 |
|---|---|---|
| wrap() | 各要素を個別に囲む | 個別にスタイルや構造を追加したいとき |
| wrapInner() | 各要素の内側のコンテンツを囲む | 内容部分だけを装飾・構造化したいとき |
| wrapAll() | 複数の要素をまとめて一括で囲む | グループ全体を一つにまとめたいとき |
jQueryの要素追加メソッドまとめ
jQueryの要素追加メソッドは、どれもシンプルで直感的な構文を持ちながら、DOMの構造を自由自在に操作できる強力なツールです。
特に、append/prepend 系と before/after 系、wrap 系では、使用する目的や対象の構造が異なるため、それぞれの違いを正確に理解しておくことが重要です。
改めて要素追加メソッド一覧表を載せておきます。
| メソッド名 | 追加される位置 | 説明 |
|---|---|---|
| append() | 親要素の最後の子要素として追加。 | 指定した要素の末尾に子要素を追加する |
| appendTo() | 親要素の最後の子要素として追加。 | append()の構文が逆になったバージョン |
| prepend() | 親要素の最初の子要素として追加。 | 指定した要素の先頭に子要素を追加する |
| prependTo() | 親要素の最初の子要素として追加。 | prepend()の構文が逆になったバージョン |
| before() | 対象要素の直前に追加。 | 指定した要素の前に新しい要素を挿入する |
| insertBefore() | 対象要素の直前に追加。 | before()の構文が逆になったバージョン |
| after() | 対象要素の直後に追加。 | 指定した要素の後ろに新しい要素を挿入する |
| insertAfter() | 対象要素の直後に追加。 | after()の構文が逆になったバージョン |
| wrap() | 指定した要素で対象要素を囲む | 対象となる要素の外側に新しいHTML構造を追加して囲む |
| wrapInner() | 指定した要素で内側のコンテンツを囲む | 対象要素の中にある内容だけを新しいHTMLで囲む |
| wrapAll() | 指定した複数要素をまとめて1つの要素で囲む | 複数の要素全体を1つの新しい要素で囲む |



最後まで読んでいただきありがとうございました!以下のおすすめ記事もチェックして見てくださいね!
まだブログを始めていない方は以下の記事をぜひチェック!






ブログを始めたばかりの人は以下の記事をぜひチェック!









