jQuery「prepend」要素内の先頭に、要素、HTML、jQueryオブジェクトを挿入する

.before()は要素の「前」にコンテンツを追加しますが、.prependは要素内の先頭にコンテンツを追加します例えば

$('.header').before('<p>Hello</p>');

では、結果が

<p>Hello</p>
<div class="header">ヘッダ</div>
$('.header').prepend('<p>Hello</p>');

では

<div class="header"><p>Hello</p>ヘッダ</div>

となります。また、挿入する要素としてページ内に既存の要素を指定した場合、その要素は複製されるのではなく、指定した場所に移動されます。類似のメソッドに「.prependTo()」があります。両者は基本的に同じ目的のメソッドですが、対象要素の検索式と内容の指定が真逆になります。jQuery1.4からは、引数としてクロージャを指定できるようになりました。これにより、要素に指定するクラス名を動的に変化させられるようになります。

サンプル

ヘッダブロックの先頭に、1文字挿入する

 <body>
    <div class="main">
      <div class="header">
        <h1>サンプル</h1>
      </div>
      <div class="content">
        <div class="sticky">
          <p>鮭おにぎり</p>
        </div>
        <div class="sticky">
          <p>のりおにぎり</p>
        </div>
        <div class="sticky">
          <p>梅干しおにぎり</p>
        </div>
        <div class="sticky">
          <p>タラコおにぎり</p>
        </div>
      </div>
    </div>
    <script>
      $(document).ready(function(){
        $('.header').prepend($('<p>jQuery</p>'));
      });
    </script>
</body>
実行結果