輕松掌握jQuery中wrap()與unwrap()函數(shù)的用法

字號(hào):


    wrap()能夠?qū)⒅付℉TML元素包裹DOM結(jié)構(gòu),與之相反unwrap()函數(shù)則是將DOM去掉^^下面讓我們來(lái)以兩個(gè)小例子輕松掌握jQuery中wrap()與unwrap()函數(shù)的用法:)
    wrap()
    wrap()函數(shù)可以接受任何字符串或?qū)ο?,可以傳遞給$()工廠函數(shù)來(lái)指定一個(gè)DOM結(jié)構(gòu)。這種結(jié)構(gòu)可以嵌套了好幾層深,但應(yīng)該只包含一個(gè)核心的元素。每個(gè)匹配的元素都會(huì)被這種結(jié)構(gòu)包裹。該方法返回原始的元素集,以便之后使用鏈?zhǔn)椒椒ā?BR>    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>