Deformation of several elements at random levels

I'm a little stuck ... How can I wrap a collection of DOM elements at different levels in a combo div?

Here is an example:

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

eg. Wrap # item2 and # item4 in #COMBO should look like this:

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

or any other random selectors, such as # item1 and # item2 and # item4, should look like this:

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

I would have to select several elements, such as $ ("# item2, # item4") or $ ("# item1, # item2, # item4"), and all the elements between them should be included in the shell.


@LeGEC

Selection:

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

Result:

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

In this example, it should be clear:

Selection:

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

Result:

<div id="item1">
    <div id="item2"></div>
    <div id="COMBO">
        <div id="item3">
             <div id="item4"></div>
        </div>
        <div id="item5"></div>
    </div>
</div>
+3
source share
4 answers

use wrapandwrapInner

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

First screenplay

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

Second screenplay

0
source

https://api.jquery.com/wrap/ .

:

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

.

0

: http://jsfiddle.net/aamir/MSdQ7/

, wrapAll, .

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

: http://jsfiddle.net/aamir/MSdQ7/1/

# item1

$('#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

:

  • ,
  • ,
  • .
0

All Articles