jQuery
wrap()
は、一致した要素のそれぞれにHTML要素をラップするために使用されます。
例えば、
<div class="innerBox">Ip man vs Iron man</div> <div class="innerBox">Ip man 2 vs Iron man 2</div>
‘wrapBox’のクラス名を含むdivタグでラップします。
$('.innerBox').wrap("<div class='wrapBox'></div>");
新しい内容は次のようになります:
<div class='wrapBox'> <div class="innerBox">Ip man vs Iron man</div> </div> <div class='wrapBox'> <div class="innerBox">Ip man 2 vs Iron man 2</div> </div>
$('.innerBox').wrap("<div class='wrapBox'>TESTING</div>");
次のことを期待していますか?
<div class='wrapBox'>TESTING <div class="innerBox">Ip man vs Iron man</div> </div>
いいえ、結果は完全に置き換えられます。ラップは、コンテンツではなくhtmlタグのみをサポートしています。
<div class='wrapBox'>TESTING</div>
自分で試してみてください
<html> <head> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <style type="text/css"> .innerBox{ padding:8px; border:1px solid blue; margin:8px; } .wrapBox{ padding:8px; border:1px solid red; margin:8px; } </style> </head> <body> <h1>jQuery wrap() example</h1> <div class="innerBox">Ip man vs Iron man</div> <div class="innerBox">Ip man 2 vs Iron man 2</div> <p> <button id="wrapButton">wrap()</button> <button id="reset">reset</button> </p> <script type="text/javascript"> $("#wrapButton").click(function () { $('.innerBox').wrap("<div class='wrapBox'></div>"); }); $("#reset").click(function () { location.reload(); }); </script> </body> </html>