时间:2021-07-01 10:21:17 帮助过:3人阅读
unwrap()将移除当前匹配元素的父元素,但会保留其所有的后辈元素。你可以使用该函数快速取消通过wrap()函数为匹配元素添加的父级包裹元素。
与该函数相对的是wrap()函数,用于将每个匹配元素用指定的元素包裹起来。
该函数属于jQuery对象(实例)。
语法
jQuery 1.4 新增该函数。
jQueryObject.unwrap( )
如果当前匹配元素的父元素为body元素,则unwrap()函数不会移除body元素。
返回值
unwrap()函数的返回值为jQuery类型,返回当前jQuery对象本身(以便于进行链式风格的编程)。
示例&说明
unwrap()函数用于移除每个匹配元素的父元素:
<div><p>段落文本1<span></span></p></div> <div><p>段落文本2<span></span></p></div> <!--以上是jQuery代码执行前的html内容--> <script type="text/javascript"> $("p").unwrap( ); </script> <!--以下是jQuery代码执行后的html内容--> <p>段落文本1<span></span></p> <p>段落文本2<span></span></p>
unwrap()函数和replaceWith()函数具有以下等价代码:
$("selector").unwrap( ); // 等价于(父元素为body时除外) // 用其父元素的所有子节点替换掉父元素 $("selector").parent().replaceWith( function(){ return $(this).contents(); } );
以下面这段HTML代码为例:
<p id="n1"> <span id="n2">span#n2</span> </p> <p id="n3"> <label id="n4">label#n4</label> <span id="n5">span#n5</span> </p> <span id="n6">span#n6</span>
以下jQuery示例代码用于演示unwrap()函数的具体用法:
// 移除每个span元素的父元素 // n6的父元素为body元素,body元素不会被移除 $("span").unwrap( );
上述代码执行后的完整html代码如下(格式未作任何调整):
<span id="n2">span#n2</span> <label id="n4">label#n4</label> <span id="n5">span#n5</span> <span id="n6">span#n5</span>
以上就是jQuery.unwrap() 函数详解的详细内容,更多请关注Gxl网其它相关文章!