.wrapInner()
返回: jQuery
.wrapInner( wrappingElement )
描述:在匹配的元素集合的每个元素内部包裹一个HTML结构。
加入于: 1.2
.wrapInner( wrappingElement )- wrappingElement一个HTML片段、选择器表达式、jQuery对象,或者DOM元素,用来指定要在匹配的元素的内容周围包裹的结构。
加入于: 1.4
.wrapInner( function ).wrapInner()函数可以取用任何可以传递给$()函数的字符串或对象,以指定一个DOM结构。这个结构可以嵌套多层深度,但是必须只有一个最内层的元素。这个结构将包裹在匹配的元素集合中每个元素的内容周围。
设想下面的HTML:
<div class="container"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div>
使用.wrapInner(),我们可以在每个class="inner"的元素的内容周围插入一个HTML结构,如下所示:
$( ".inner" ).wrapInner( "<div class='new'></div>");
快速创建了一个新的<div>元素,并把它添加到DOM中。结果是一个新的<div>包裹了每个匹配的元素的内容:
<div class="container">
<div class="inner">
<div class="new">Hello</div>
</div>
<div class="inner">
<div class="new">Goodbye</div>
</div>
</div>
这个方法的第二版本允许我们指定一个回调函数作为参数。该回调函数针对每个匹配的元素调用一次;它必须返回一个DOM元素、jQuery对象,或者HTML片段,以包裹相应的元素的内容。举个例子:
$( ".inner" ).wrapInner(function() {
return "<div class='" + this.nodeValue + "'></div>";
});
这将导致每个<div>元素有一个对应于它包裹的文本的样式类:
<div class="container">
<div class="inner">
<div class="Hello">Hello</div>
</div>
<div class="inner">
<div class="Goodbye">Goodbye</div>
</div>
</div>
注意:如果向.wrapInner()函数传递一个选择器字符串,则输入的必须是格式正确的 HTML,并带有正确的关闭标签。一些合法有效的例子包括:
$( elem ).wrapInner( "<div class='test'></div>" ); $( elem ).wrapInner( "<div class=\"test\"></div>" );
示例
选择所有段落文本文件,并给它的内容周围包裹一个粗体标记。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapInner demo</title>
<style>
p {
background: #bbf;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "p" ).wrapInner( "<b></b>" );
</script>
</body>
</html>
演示结果
在<body>内部的对象周围包裹一个新创建的树。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapInner demo</title>
<style>
div {
border: 2px green solid;
margin: 2px;
padding: 2px;
}
p {
background: yellow;
margin: 2px;
padding: 2px;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
Plain old text, or is it?
<script>
$( "body" ).wrapInner( "<div><div><p><em><b></b></em></p></div></div>" );
</script>
</body>
</html>
演示结果
选择所有段落文本文件,并给它的内容周围包裹一个粗体标记。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapInner demo</title>
<style>
p {
background: #9f9;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "p" ).wrapInner( document.createElement( "b" ) );
</script>
</body>
</html>
演示结果
选择所有段落文本文件,并给它的内容周围包裹一个jQuery对象。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>wrapInner demo</title>
<style>
p {
background: #9f9;
}
.red {
color: red;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
<script>
$( "p" ).wrapInner( $( "<span class='red'></span>" ) );
</script>
</body>
</html>
演示结果