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".
 

Benjamin Rauer

Mitglied
Hallo, danke für deine antwort aber ich dachte ehrer an
klick auf tab und dieser wird als box dargestellt und alle weiteren sind geschlossen untereinander.

also es klappt soweit ganz gut nur müssen nach erstellen einer neuen box alle anderen wieder gelöscht werden
 
Zuletzt bearbeitet: