JavaScript - Um jedes 1 und dritte Element soll ein Wrapper gemacht werden?

... komplette Frage anzeigen

1 Antwort

Du kannst einfach alle selektierten Elemente durchgehen und dabei mittels der slice-Funktion die jeweils 3 Elemente mit wrapAll in deinen Wrapper packen:

var unwrapped_elements = $(".content-item");
for(var i = 0; i < unwrapped_elements.length; i += 3)
unwrapped_elements.slice(i, i+3).wrapAll('<div class="content-wrapper"></div>');

Hier nochmal als Demo:

https://jsfiddle.net/h8208ksb/

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von perhp
14.04.2016, 21:49

Hallo danke für die Antwort. Nachdem ich diese Frage gestellt habe, bin ich selbst auf die Slice Funktion gekommen und habe es genau, wie du in dieser Demo, das ganze mit wrapAll gewrappt. Aufgrund eines anderen Problem, habe ich nochmal das ganze überarbeitet und will nun jeden Monat wrappen.

Hier ist mein momentanes Ergebnis.

http://codepen.io/anon/pen/redmOL

Die Ausgabe funktioniert noch nicht ganz, am Ende der Datei, aber das müsste nicht mehr schwer sein. Vermutlich stoße ich dann bei der Erstellung des Sliders auf ein anderes Problem, da bei mir jedes Monat unterschiedlich groß ist und es dann vermutlich zu Komplikationen kommmen wird, wenn ich versuche den Slider zu erstellen und bei mir die Slides nicht immer gleich aufgeteilt sind (d.h. im ersten Slide können zwei Monate sein und beim darauffolgenden nur mehr einer usw.)

0

Was möchtest Du wissen?