wrap()能夠?qū)⒅付℉TML元素包裹DOM結(jié)構(gòu),與之相反unwrap()函數(shù)則是將DOM去掉^^下面讓我們來(lái)以?xún)蓚€(gè)小例子輕松掌握jQuery中wrap()與unwrap()函數(shù)的用法:)
wrap()
wrap()函數(shù)可以接受任何字符串或?qū)ο?,可以傳遞給$()工廠(chǎng)函數(shù)來(lái)指定一個(gè)DOM結(jié)構(gòu)。這種結(jié)構(gòu)可以嵌套了好幾層深,但應(yīng)該只包含一個(gè)核心的元素。每個(gè)匹配的元素都會(huì)被這種結(jié)構(gòu)包裹。該方法返回原始的元素集,以便之后使用鏈?zhǔn)椒椒ā?/P>
eg:
代碼如下:
//在當(dāng)前頁(yè)面內(nèi)追加換行標(biāo)簽和指定的HTML內(nèi)容
function w( html ){
document.body.innerHTML += "<br/>" + html;
}
var name = "Hello";
function foo( a, b ){
w( this.name );
w( a + b );
}
// 直接調(diào)用
foo( 1, 2 );
// Hello
// 3
var obj = { name: "CodePlayer", age: 18 };
var proxy = $.proxy( foo, obj, 5, 10 );
// 代理調(diào)用foo()函數(shù),此時(shí)其內(nèi)部的this指向?qū)ο髈bj
proxy();
// CodePlayer
// 15
運(yùn)行代碼
unwrap()
這個(gè)函數(shù)將移出元素的父元素。這能快速取消 .wrap()方法的效果。匹配的元素(以及他們的同輩元素)會(huì)在DOM結(jié)構(gòu)上替換他們的父元素。
eg:
用ID是"content"的div將每一個(gè)段落包裹起來(lái)
代碼如下:
# HTML 代碼:
<div>
<p>Hello</p>
<p>cruel</p>
<p>World</p>
</div>
# jQuery 代碼:
$("p").unwrap()
結(jié)果:
<p>Hello</p>
<p>cruel</p>
<p>World</p>