jQuery 「wrapAll」要素をまとめて親要素を追加する
.wrapAll()は、.wrap()と同様に、条件にマッチした要素を引数で指定した親要素でくるみます。ただし、.wrap()がマッチした要素それぞれに親要素を追加するのに対し、.wrapAll()はマッチした要素すべてを1つの親要素でくるみます。
書式
$( 対象要素 ).wrapAll( 親要素 );
$('p').wrapAll('<div></div>');
サンプル
付箋のdiv要素すべてをまとめて、親のdiv要素(.stickies)でくくる
<body>
<style>
.sticky {
background: #aaa;
}
.stickies {
background: #00ffff;
}
</style>
<div class="main">
<div class="header">
<h1>サンプル</h1>
</div>
<div class="content">
<div class="sticky">
<p>コロッケ定食</p>
<fingure><img src="./images/112083_s.jpg" width="200px" height="100px"></fingure>
</div>
<div class="sticky">
<p>オムライス</p>
<fingure><img src="./images/2227584_s.jpg" width="200px" height="100px"></fingure>
</div>
<div class="sticky">
<p>ホットドッグ</p>
<fingure><img src="./images/1418030_s.jpg" width="200px" height="100px"></fingure>
</div>
<button class="button" id="unwrap">Unwarp</button>
<button class="button" id="wrap">Wrap</button>
</div>
<div class="footer">
<hr>
<p class="copyright">2024 xxx all rights reserved.</p>
</div>
</div>
<script>
$(document).ready(function(){
$('#unwrap').on('click',function(){
$('.sticky').unwrap();
});
$('#wrap').on('click',function(){
$('.sticky').wrapAll('<div class="stickies"></div>');
});
});
</script>
</body>