欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

jQuery.unwrap() 函数详解

程序员文章站 2022-04-19 16:38:05
...
unwrap()函数用于移除每个匹配元素的父元素。

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() 函数详解的详细内容,更多请关注其它相关文章!