jQuery 「before」要素の前に、要素、HTML、jQueryオブジェクトを挿入する
条件にマッチした対象要素の直前にコンテンツを挿入します。コンテンツは、DOM要素、HTML文字列、jQueryオブジェクトのいずれでも指定可能です。類似のメソッドに「.insertBefore()」があります。両者は基本的に同じ目的のメソッドですが、対象要素の検索式と内容の指定が真逆になります。jQuery1.4から、引数としてクロージャを指定できるようになりました。これにより、追加するコンテンツを動的に変化させられるようになります。
書式
$( 対象要素 ).before( 内容 );
$( 対象要素 ).before( function() { 処理… } );
$('.footer').before(document.createTextNode('文字列を挿入します'));
$('.footer').before('<p>ここまで本文</p>');
$('.content').before(function(){
return '<span>'+$(this).text + '</span>';
});
サンプル
<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(){
$('.content').before($('<div class="desc"><p>おにぎり屋のメニュー</p>'));
});
</script>
</body>