.wrapInner()
マッチした各要素の内側を、指定した別エレメントでそれぞれ囲います。
.wrapInner( wrappingElement ) 1.2追加
戻り値:jQuery
引数 | 説明 |
---|---|
wrappingElement | マッチしている要素の中身を囲う要素を指定します。 HTML文字列、セレクタ、jQueryオブジェクト、DOM要素のいずれかが使用できます。 |
.wrapInner( function(index) ) 1.4追加
戻り値:jQuery
引数 | 説明 |
---|---|
function(index) |
マッチしている要素の中身を囲う要素を、戻り値として返す関数を指定します。
|
サンプル
次のようなコードがあった場合、
<div class="container">
<div class="inner">こんにちは</div>
<div class="inner">さようなら</div>
</div>
下記の処理を実行すると、
$('.inner').wrapInner('<div class="new" />');
マッチした要素内のコンテンツをそれぞれが指定したDIVで囲まれます。
<div class="container">
<div class="inner">
<div class="new">こんにちは</div>
</div>
<div class="inner">
<div class="new">さようなら</div>
</div>
</div>
下記のように引数に関数を指定した場合、
$('.inner').wrapInner(function(index) {
return '<div title="' + $(this).text() + '" />';
});
マッチした要素の各テキストを取り出して、動的に使用することが出来ます。
<div class="container">
<div class="inner">
<div title="こんにちは">こんにちは</div>
</div>
<div class="inner">
<div title="さようなら">さようなら</div>
</div>
</div>
デモ
各P要素の中身に対してB要素で囲っています。
<!DOCTYPE html>
<html>
<head>
<style>
p { background:#bbf; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p>おはよう!</p>
<p>こんにちは!</p>
<p>こんばんは!</p>
<script>$("p").wrapInner("<b></b>");</script>
</body>
</html>
BODYに対して、wrapInnerに多階層の要素を指定して実行しています。
<!DOCTYPE html>
<html>
<head>
<style>
div { border:2px green solid; margin:2px; padding:2px; }
p { background:yellow; margin:2px; padding:2px; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
BODYのテキストです。
<script>
$("body").wrapInner("<div><div><p><em><b></b></em></p></div></div>");
</script>
</body>
</html>
jQueryで生成した要素で、マッチした要素を囲います。
<!DOCTYPE html>
<html>
<head>
<style>
p { background:#9f9; }
.red { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p>おはよう!</p>
<p>こんにちは!</p>
<p>こんばんは!</p>
<script>$("p").wrapInner($("<span class='red'></span>"));</script>
</body>
</html>
© 2010 - 2017 STUDIO KINGDOM