要素まとめて指定したタグで囲うには、.wrapAll()を使用します。
サンプルソース
例)class="d1"の要素を<p class='a'></p>で囲う
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Sample</title> <style> p.a{background-color:#00ffff;border:1px solid #808080;} div{background-color:#ffff00;} </style> <script src="http://code.jquery.com/jquery-3.2.1.min.js"></script> <script> $(function(){ $("#btn1").click(function(){ $(".d1").wrapAll("<p class='a'></p>"); }); }); </script> </head> <body> <div class="d1">D1</div> <div class="d2">D2</div> <div class="d1">D1</div> <input type="button" id="btn1" value="ボタン" /> </body> </html> |
実行サンプル
ボタンを押すと、class="d1"の要素のみ枠線で囲われます
class="d1"です
class="d2"です
class="d1"です
解説
- wrapAllは、指定した要素全てを指定したタグで囲います。
- 囲われている要素が離れていてもまとめられて囲われます。
- 似たメソッドに.wrap()があります。.wrap()と.wrapAll()の違いは以下の通りです。
wrap:指定した要素をそれぞれ囲う
wrapAll:指定した要素をまとめて囲う