您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2014年08月30日 14:13

原创 jQuery.unwrap() 函数详解

134 次浏览 读完需要≈ 6 分钟

内容目录

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>
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论

打开导航菜单