2012-11-29 55 views
2

jquery有一個函數.wrapAll()它用於包裝所有具有相同類的div。jquery wrapAll函數逆?

但我想做的完全相反,這意味着解開多個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/

+1

一切皆有可能jQuery中。你能舉個例子嗎? – mplungjan

回答

2

你可以這樣做:

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

這不會刪除文本子節點的.outerDiv ,但是。

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

編輯:每@NullPointer您可以使用父選擇的兒童.unwrap方法做到這一點。請參閱:

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

+1

我也做了 –

+0

非常感謝。其實我正在尋找這個http://jsfiddle.net/ScdLX/4/ –

1

您可以像使用。

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

是去除所有的元素與類名「類名」

+0

恐怕這同樣是在爆炸藥[second fiddle](http://jsfiddle.net/ScdLX/3/) –

+0

At第一首選項我嘗試.unwrap()但它沒有在我的情況下工作。其實我有點擊加載動態數據,每次我點擊一個新的div創建相同的類。我必須從相同類別的所有此類div中移除換行,並再次實時添加換行。無論如何謝謝你的回答。 –