2

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

但是我想做与此完全相反的操作,这意味着单次打开具有相同类的多个 div,因为那里没有unwrapAll()函数?可以做吗???

例如之前

<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/

4

2 回答 2

2

您可以执行以下操作:

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

但是,这不会删除 的文本节点子节点.outerDiv

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

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

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

于 2012-11-29T05:27:01.053 回答
1

您可以使用 .

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

删除所有类名为“classname”的元素

于 2012-11-29T05:42:34.433 回答