.wrapAll()
返回: jQuery
.wrapAll( wrappingElement )
描述:在匹配的元素集合的所有元素周围包裹一个HTML结构。
加入于: 1.2
.wrapAll( wrappingElement )- wrappingElement一个HTML片段、选择器表达式、jQuery对象,或者DOM元素,用来指定要在匹配的元素周围包裹的结构。
加入于: 1.4
.wrapAll( function ).wrapAll()
函数可以取用任何可以传递给$()
函数的字符串或对象,以指定一个DOM结构。这个结构可以嵌套多层深度,但是必须只有一个最内层的元素。这个结构将包裹匹配元素集合中的所有元素,作为一个组。
设想下面的HTML:
<div class="container"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div>
使用.wrapAll()
,我们可以在<div class="inner">元素周围插入一个HTML结构,如下所示:
$( ".inner" ).wrapAll( "<div class='new' />");
快速创建了新的<div>
,并把它添加到DOM中。结果是一个新的DOM包裹在所有匹配的元素周围:
<div class="container"> <div class="new"> <div class="inner">Hello</div> <div class="inner">Goodbye</div> </div> </div>
示例
在所有段落文本周围包裹一个新的div。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>wrapAll demo</title> <style> div { border: 2px solid blue; } p { background: yellow; margin: 4px; } </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" ).wrapAll( "<div></div>" ); </script> </body> </html>
演示结果
在<span>周围包裹一个新创建的对象树。注意,<span>之间的任何元素都不会被包裹,比如说例子中使用的<strong>(红色文本)。即使是<span>之间的空格也不会被包裹。点击“View Source”以查看原始HTML。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>wrapAll demo</title> <style> div { border: 2px blue solid; margin: 2px; padding: 2px; } p { background: yellow; margin: 2px; padding: 2px; } strong { color: red; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <span>Span Text</span> <strong>What about me?</strong> <span>Another One</span> <script> $( "span").wrapAll( "<div><div><p><em><b></b></em></p></div></div>" ); </script> </body> </html>
演示结果
在所有的段落文本周围包裹一个新的div。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>wrapAll demo</title> <style> div { border: 2px solid blue; } p { background: yellow; margin: 4px; } </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" ).wrapAll( document.createElement( "div" ) ); </script> </body> </html>
演示结果
在所有的段落文本周围包裹一个jQuery对象,它是一个双层深度的div。注意,它没有移动对象,仅仅是克隆对象以包裹目标。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>wrapAll demo</title> <style> div { border: 2px solid blue; margin: 2px; padding: 2px; } .doublediv { border-color: red; } p { background: yellow; margin: 4px; font-size: 14px; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <p>Hello</p> <p>cruel</p> <p>World</p> <div class="doublediv"><div></div></div> <script> $( "p" ).wrapAll( $( ".doublediv" ) ); </script> </body> </html>
演示结果