Ein Element wird mit jQuery außerhalb seines übergeordneten Elements erweitert

8

Ich arbeite mit einem Markup, bei dem wir eine Anzahl von HTML-Blöcken / Steuerelementen innerhalb eines äußeren Containers haben, dieser Container ist im Grunde eine Fundament-Zeile mit einer maximalen Breite.

In bestimmten Situationen brauche ich Blöcke, um aus diesem Container auszubrechen, über die maximale Breite hinauszugehen und die volle Breite einzunehmen, aber in der ursprünglichen Position in Bezug auf den Index zu bleiben. Bleib bei mir! Das sieht wie folgt aus:

%Vor%

Was ich eigentlich haben möchte, ist folgendes:

%Vor%

Leider haben wir keinen Zugang, um das in HTML richtig zu machen, also sieht jQuery am besten aus.

Ich habe versucht, so etwas zu tun, aber ohne Erfolg, da es nicht korrekt formatiert ist:

%Vor%

Jeder hat irgendwelche Ideen, dies zu erreichen, ohne das ganze DOM komplett neu zu schreiben, sonst muss ich eine Ladung Bindings neu auftragen.

Vielen Dank im Voraus.

    
user1408133 22.09.2015, 16:07
quelle

3 Antworten

1

DEMO

Zuerst unwrap() das Element .full-width . Dies entfernt die Haupt .row , dann wrap() die nächsten und vorherigen Elemente in .row .

%Vor% %Vor%
    
RRK 22.09.2015, 16:38
quelle
0
%Vor%

Das folgende DOM entfernt die beiden div s und fügt sie anschließend hinzu

%Vor%

Dies wird "hoffentlich" Ihr Problem mit einfachem JavaScript lösen. Obwohl, logischer und erweiterbarer Code kann in diesem Sinne geschrieben werden. Dies wird wahrscheinlich genug für Sie sein, um zu gehen

Der Körper hält den Container
dann rufen wir die alte Zeile ab (eine ID funktioniert am besten)
Abrufen von fwblk und rgblk (fullwidth block und reguläre Blöcke)
Erstelle ein neues div bei newRow und setze den Klassennamen auf row
Entfernen von fwblk und rgblk aus dem alten Block
rgblk zu newRow hinzufügen Schließlich fügen Sie fgblk und newRow dem Körper hinzu und injizieren sie in body

    
Ronnie 22.09.2015 16:31
quelle
0

Sie können eine Kombination aus unWrap , next und andSelf verwenden. Auf diese Weise können Sie das Element selbst und das folgende Element abrufen und aus dem übergeordneten Element entfernen.

Hinweis:

Code:

%Vor%

Demo: Ссылка

    
Irvin Dominin 22.09.2015 16:35
quelle

Tags und Links