2014-02-14 35 views
3

我有點卡住了...... 如何在組合div中的不同層次上包裝DOM元素的集合?翹曲隨機水平的多個元素

這裏的示例:

<div id="item1"> 
    <div id="item2"></div> 
    <div id="item3"> 
     <div id="item4"></div> 
    </div> 
    <div id="item5"></div> 
</div> 

例如總結#ITEM2和#ITEM4在#COMBO應該是這樣的:

<div id="item1"> 
    <div id="COMBO"> 
     <div id="item2"></div> 
     <div id="item3"> 
      <div id="item4"></div> 
     </div> 
    </div> 
    <div id="item5"></div> 
</div> 

或任何其他隨機選擇喜歡#物品1和#ITEM2和#ITEM4應該是這樣的:

<div id="COMBO"> 
    <div id="item1"> 
     <div id="item2"></div> 
     <div id="item3"> 
      <div id="item4"></div> 
     </div> 
     <div id="item5"></div> 
    </div> 
</div> 

我需要能夠選擇像$(「#item2,#item4」)或$(「#item1,#item2,#item4」)這樣的多個元素,並且它們之間的所有項目都應該包含在包裝中。


@LeGEC

選擇:

$('#item2, #item5').myWrap(); 

結果:

<div id="item1"> 
    <div id="COMBO"> 
     <div id="item2"></div> 
     <div id="item3"> 
      <div id="item4"></div> 
     </div> 
     <div id="item5"></div> 
    </div> 
</div> 

這個例子應該清楚:

選擇:

$('#item4, #item5').myWrap(); 

結果:

<div id="item1"> 
    <div id="item2"></div> 
    <div id="COMBO"> 
     <div id="item3"> 
      <div id="item4"></div> 
     </div> 
     <div id="item5"></div> 
    </div> 
</div> 
+0

'$('#item2,#item5')。myWrap()'將會怎樣? – LeGEC

+0

請參閱我的更新評論。 – Mayko

回答

0

使用wrapwrapInner

$("#item1").wrapInner("<div id='COMBO'></div>");//for firstscenario 

First Scenario Demo

$("#item1").wrap("<div id='COMBO'></div>");//for second scenarion 

Second Scenario Demo

+0

謝謝,但我可能不夠清楚。 請參閱我更新的問題。 – Mayko

+0

在他的第一個問題#item5不在組合 –

+0

@Mkoko:我在回答時互換位置。修復。現在應該是好的。 –

0

使用​​這一點。

例如:

$('#item1').wrap('<div id="COMBO"></div>'); 

等方式。

0

第一個問題:http://jsfiddle.net/aamir/MSdQ7/

所以,你可以使用wrapAll如果你想換行提供的選擇中的一個元素。

$('#item2, #item3').wrapAll('<div id="COMBO"></div>'); 

第二個問題:​​

這將包裹#物品1和它的所有內容中的一個元素

$('#item1').wrap('<div id="COMBO"></div>') 

在自己的組合包裝每個項目:http://jsfiddle.net/aamir/MSdQ7/3/

這將將每個物品包裹在其自己的元素中

$('#item2, #item3, #item4').wrap('<div id="COMBO"></div>') 

看一看所有這些:https://api.jquery.com/?s=wrap

0

您將有:

  • 找最接近共同祖先,
  • 選擇這個祖先內提供有關兒童,
  • 包包裝內的那些孩子。