jQuery逆引きリファレンス

jQuery逆引きリファレンス

既存の要素を別の場所に移動するには? ― insertBefore/insertAfter/prependTo/appendToメソッド

2016年9月8日

既存の要素を、指定した要素の直前/直後/子要素先頭/子要素末尾の位置に移動する方法を説明する。

  • このエントリーをはてなブックマークに追加

 既存の要素を移動するには、insertBeforeinsertAfterprependToappendToメソッドを利用します。最初に構文を確認しておきましょう。

[構文]insertBefore/insertAfter/prependTo/appendToメソッド

$(src).method(dest)

  • src: 移動する要素を表すセレクター式
  • method: insertBefore/insertAfter/prependTo/appendToのいずれか
  • dest: 移動先を表すセレクター式

 insertBeforeinsertAfterprependToappendToメソッドについては、別稿「TIPS:ページに新たな要素を挿入するには?」でも触れていますので、新規に要素を追加する場合の構文との違いも確認しておきましょう。また、それぞれのメソッドの使い分けについても別稿で解説しています。

 では、具体的な例も確認しておきましょう。以下は、「id="flute"である要素」を「id="main"である要素」の直後に移動する例です。

HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>jQuery TIPS</title>
<link rel="stylesheet" href="common.css" />
</head>
<body>
<p id="flute">フルート</p>
<div id="main">
  <p>ヴァイオリン</p>
  <p>ヴィオラ</p>
  <p>チェロ</p>
</div>
<p id="piano">ピアノ</p>
<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(function () {
  $('#flute').insertAfter('#main');
});
</script>
</body>
</html>
リスト1 指定された要素を移動するためのコード(move.html)
ページのロードが完了すると……

ページのロードが完了すると……

図1 「id=
図1 「id="flute"である要素」を「id="main"である要素」の直後に移動

 図1に示す結果では、「フルート」「バイオリン~チェロ」の直後に移動している。

処理対象:要素の移動 カテゴリ:要素
API:jQuery() カテゴリ:Core(コア)
API:.insertBefore()|.insertAfter()|before()|.after() カテゴリ:Manipulation(操作) > DOM Insertion, Outside(DOM挿入、外部から)
API:.prependTo()|.appendTo()|.prepend()|.append() カテゴリ:Manipulation(操作) > DOM Insertion, Inside(DOM挿入、内部から)

※以下では、本稿の前後を合わせて5回分(第51回~第55回)のみ表示しています。
 連載の全タイトルを参照するには、[この記事の連載 INDEX]を参照してください。

51. jQuery1.x/2.xで作成したアプリをjQuery 3に対応させるには?

2016年6月、jQuery 3.0が正式リリースされた。今後は、従来バージョンのjQueryを使った既存のサイト/ページを、最新のバージョン3に徐々に移行していこう。移行ライブラリ「jQuery Migration」を使った方法を解説する。

52. ページに新たな要素を挿入するには? ― insertBefore/insertAfter/prependTo/appendTo/before/after/prepend/appendメソッド

HTML文字列で要素を作成してから、指定した場所にそれを挿入する方法を解説。また結果は同じになるが少し手順を変えて、指定した場所にHTML文字列で要素を生成する方法を説明する。

53. 【現在、表示中】≫ 既存の要素を別の場所に移動するには? ― insertBefore/insertAfter/prependTo/appendToメソッド

既存の要素を、指定した要素の直前/直後/子要素先頭/子要素末尾の位置に移動する方法を説明する。

54. 既存の要素を別の要素で置き換えるには? ― replaceWith/replaceAllメソッド

既存の要素を選択し、それをHTML文字列により生成した新規要素もしくはjQueryオブジェクトで置き換える方法を解説。また結果は同じになるが少し手順を変えて、HTML文字列による新規要素もしくはjQueryオブジェクトで既存の要素を置き換える方法も説明する。

55. 現在の要素セットを特定の要素でラップするには? ― wrap/wrapAll/wrapInnerメソッド

現在の要素セットを新要素でラップする(=新要素の子要素にする)方法を解説。メソッドを使い分けることで、要素セットに対して個々に要素全体を/全ての要素をまとめて/個々に中身(=子要素)のみをラップできる。

サイトからのお知らせ

Twitterでつぶやこう!


Build Insider賛同企業・団体

Build Insiderは、以下の企業・団体の支援を受けて活動しています(募集概要)。

ゴールドレベル

  • 日本マイクロソフト株式会社
  • グレープシティ株式会社