轻松掌握jQuery中wrap()与unwrap()函数的用法
投稿:goldensun
wrap()能够将指定HTML元素包裹DOM结构,与之相反unwrap()函数则是将DOM去掉^^下面让我们来以两个小例子轻松掌握jQuery中wrap()与unwrap()函数的用法:)
wrap()
wrap()函数可以接受任何字符串或对象,可以传递给$()工厂函数来指定一个DOM结构。这种结构可以嵌套了好几层深,但应该只包含一个核心的元素。每个匹配的元素都会被这种结构包裹。该方法返回原始的元素集,以便之后使用链式方法。
eg:
//在当前页面内追加换行标签和指定的HTML内容 function w( html ){ document.body.innerHTML += "<br/>" + html; } var name = "Hello"; function foo( a, b ){ w( this.name ); w( a + b ); } // 直接调用 foo( 1, 2 ); // Hello // 3 var obj = { name: "CodePlayer", age: 18 }; var proxy = $.proxy( foo, obj, 5, 10 ); // 代理调用foo()函数,此时其内部的this指向对象obj proxy(); // CodePlayer // 15 运行代码
unwrap()
这个函数将移出元素的父元素。这能快速取消 .wrap()方法的效果。匹配的元素(以及他们的同辈元素)会在DOM结构上替换他们的父元素。
eg:
用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>