div schließen und neues erstellen

Benjamin Rauer

Mitglied
hallo,
ich versuche ein div zu schliesen um eine box darunter zu erstellen scheitere jedoch

das div ist wie folgt aufgebaut


HTML:
<div id="box">

      <div id="tab0" class="_bts1" onclick="java('js_0');">

           <div class="p10 hover">

          </div>

     </div>

      <div id="tab1" class="_bts1" onclick="java('js_1);">

           <div class="p10 hover">

          </div>

     </div>

</div>


wenn ich jetzt auf Tab1 klicke, soll es wie folgt erstellt werden



HTML:
<div id="box">

      <div id="tab0" class="_bts1" onclick="java('js_0');">

           <div class="p10 hover">

          </div>

     </div>

[B]</div>

<div id="box">[/B]

      <div id="tab1" class="_bts1" onclick="java('js_1');">

           <div class="p10 hover">

          </div>

     </div>

</div>

bei
jQuery('#tab'+a).after('</div> <div id=\"box">Bar');
wird zwar eine neue box erstellt aber das davor nicht geschlossen.

hoffe ihr habt da eine lösung
 
Zuletzt bearbeitet:

Sempervivum

Erfahrenes Mitglied
Mit after kannst Du nur ein vollständiges Element einfügen, keinen Text.
Ich würde da etwas anders vorgehen, siehe die Kommentare im Code:
Code:
        const toBeShifted = $('#tab1');
        // durch after wird das Element hinter die Box verschoben
        $('.box').after(toBeShifted);
        // jetzt noch einen neuen Wrapper drum herum:
        toBeShifted.wrap("<div class='box'></div>");

BTW: Du bringst Java und Javascript durcheinander, beides ist verschieden.
Und in deinem ersten Code fehlte das schließende Hochkomma:
onclick="java('js_1);"
So wäre es richtig:
onclick="javascript('js_1');"
Weiter wäre in deinem zweiten Code die ID doppelt, deshalb habe ich auf class umgestellt. Brauchst Du IDs, musst Du unterschiedliche verwenden, z. B. "box1" und "box2".
 

Neue Beiträge