2016-05-18 21 views
0

Ich kann trotz allem, was ich gelesen habe, mein Ziel nicht erreichen. Entschuldigung, wenn die Frage bereits gestellt wurde. Ich möchte jede Gruppe von Bild und neben div wickeln, wie im Beispiel:In einer Liste, wickeln Sie jede Gruppe von Bild und nächste Div ... (jQuery)

<div class="group"> 

    <img class="slide" src="..."> 
    <div class="content">...</div> 

    <img class="slide" src="..."> 
    <div class="content">...</div> 

    <img class="slide" src="..."> 
    <div class="content">...</div> 

    ... 

</div> 

zu

<div class="group"> 

    <div class="subgroup"> 
     <img class="slide" src="..."> 
     <div class="content">...</div> 
    </div> 

    <div class="subgroup"> 
     <img class="slide" src="..."> 
     <div class="content">...</div> 
    </div> 

    <div class="subgroup"> 
     <img class="slide" src="..."> 
     <div class="content">...</div> 
    </div> 

    ... 

</div> 

Dank durch Voraus ...

Antwort

3

versuchen, diese

$(".group .slide").each(function(){ 
    $(this).next(".content").andSelf().wrapAll("<div class='subgroup' />"); 
}); 

Working Demo

+0

'andSelf()' wird in jquery Version 1.8 und oberhalb depricated. Aber kann die gleiche Funktionalität mit 'addBack()' bekommen –

1

Sie können alle Folie und Inhaltselement erhalten. dann schneiden zurückgegebene Array Satz von Element zu bilden und dann in derselben Gruppe Einschlag:

var childelements = $(".group > .slide , .group > .content"); 
for(var i = 0; i < childelements.length; i+=2) { 
    childelements.slice(i, i+2).wrapAll('<div class="subgroup"></div>'); 
} 

Working Demo