wrap(html|ele|fn)
概述
把所有匹配的元素用其他元素的结构化标记包裹起来。
这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。这个函数的原理是检查提供的第一个元素(它是由所提供的HTML标记代码动态生成的),并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包裹元素。当HTML标记代码中的元素包含文本时无法使用这个函数。因此,如果要添加文本应该在包裹完成之后再行添加。
参数
html
HTML标记代码字符串,用于动态生成元素并包裹目标元素
elem
用于包装目标元素的DOM元素
fn
生成包裹结构的一个函数
示例
html参数描述:
把所有的段落用一个新创建的div包裹起来
jQuery 代码:
$("p").wrap("<div class='wrap'></div>");
elem参数描述:
用ID是"content"的div将每一个段落包裹起来
jQuery 代码:
$("p").wrap(document.getElementById('content'));
回调函数 描述:
用原先div的内容作为新div的class,并将每一个元素包裹起来
HTML 代码:
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
jQuery 代码:
$('.inner').wrap(function() {
return '<div class="' + $(this).text() + '" />';
});
结果:
<div class="container">
<div class="Hello">
<div class="inner">Hello</div>
</div>
<div class="Goodbye">
<div class="inner">Goodbye</div>
</div>
</div>
unwrap()
概述
这个方法将移出元素的父元素。这能快速取消 .wrap()方法的效果。匹配的元素(以及他们的同辈元素)会在DOM结构上替换他们的父元素。
示例
描述:
用ID是"content"的div将每一个段落包裹起来
HTML 代码:
<div>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
</div>
jQuery 代码:
$("p").unwrap()
结果:
<p>Hello</p>
<p>cruel</p>
<p>World</p>
wrapAll(html|ele)
概述
将所有匹配的元素用单个元素包裹起来
这于 '.wrap()'<a href="http://docs.jquery.com/Manipulation/wrap" title="Manipulation/wrap"></a> 是不同的,'.wrap()'为每一个匹配的元素都包裹一次。这种包装对于在文档中插入额外的结构化标记最有用,而且它不会破坏原始文档的语义品质。这个函数的原理是检查提供的第一个元素并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包装元素。
参数
html
TML标记代码字符串,用于动态生成元素并包装目标元素
elem
用于包装目标元素的DOM元素
示例
html描述:
用一个生成的div将所有段落包裹起来
jQuery 代码:
$("p").wrapAll("<div></div>");
elem描述:
用一个生成的div将所有段落包裹起来
jQuery 代码:
$("p").wrapAll(document.createElement("div"));
//有点没看懂
wrapInner(htm|ele|fnl)
概述
将每一个匹配的元素的子内容(包括文本节点)用一个HTML结构包裹起来
这个函数的原理是检查提供的第一个元素(它是由所提供的HTML标记代码动态生成的),并在它的代码结构中找到最上层的祖先元素--这个祖先元素就是包装元素。
参数
html
HTML标记代码字符串,用于动态生成元素并包装目标元素
elem
用于包装目标元素的DOM元素
fn
生成包裹结构的一个函数
示例
参数html描述:
把所有段落内的每个子内容加粗
jQuery 代码:
$("p").wrapInner("<b></b>");
参数elem描述:
把所有段落内的每个子内容加粗
jQuery 代码:
$("p").wrapInner(document.createElement("b"));
回调函数 描述:
用原先div的内容作为新div的class,并将每一个元素包裹起来
HTML 代码:
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>
jQuery 代码:
$('.inner').wrapInner(function() {
return '<div class="' + $(this).text() + '" />';
});
结果:
<div class="container">
<div class="inner">
<div class="Hello">Hello</div>
</div>
<div class="inner">
<div class="Goodbye">Goodbye</div>
</div>
</div>