jquery wrapAll函数是否反转?

时间:2012-11-29 05:22:43

标签: jquery

jquery有一个函数.wrapAll(),它用于包装所有具有相同类的div。

但我想完全相反这意味着在单行中解包多个具有相同类的div,因为那里没有unwrapAll()函数? 有可能吗?

E.g。前

<div class="outer">
<div class="inner">foon</div>
<div class="inner">foon2</div>
<div class="inner">foo3</div>    
</div>​

后:

<div class="inner">foon</div>
<div class="inner">foon2</div>
<div class="inner">foo3</div> 

使用建议答案的工作示例http://jsfiddle.net/ScdLX/4/

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

$(".outerDiv").replaceWith(function () { return $(this).html(); });

但这并不会删除.outerDiv的文本节点子节点。

http://jsfiddle.net/ScdLX/2/

编辑:根据@NullPointer,您可以使用父选择器子节点上的.unwrap方法执行此操作。请参阅:

http://jsfiddle.net/ScdLX/3/

答案 1 :(得分:1)

你可以使用like。

jQuery('.classname').children().unwrap();

删除所有具有类名“classname”

的元素