1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

JavaScript Frage

Discussion in 'Programmieren' started by Jamirus, Sep 21, 2011.

Thread Status:
Not open for further replies.
  1. Jamirus

    Jamirus Byte

    Hallo,

    ich habe eine Frage zu JavaScript. Undzwar habe ich unten stehenden HTML Code und alle Divs mit derselben Klasse "paar_gen0" usw. müssen von einem neuen Div mithilfe von Javascript umschlossen werden.

    so sieht es momentan aus:
    <div class="paar_gen0">INHALT01</div>
    <div class="paar_gen1">INHALT02</div>
    <div class="paar_gen2">INHALT03</div>
    <div class="paar_gen2">INHALT04</div>
    <div class="paar_gen1">INHALT05</div>

    so sollte es mithilfe von JS aussehen:
    <div class="0">
    <div class="paar_gen0">INHALT01</div>
    </div>

    <div class="1">

    <div class="paar_gen1">INAHLT02</div>
    <div class="paar_gen1">INAHLT05</div>
    </div>

    <div class="2">
    <div class="paar_gen2">INAHLT03</div>
    <div class="paar_gen2">INAHLT04</div>
    </div>

    Ist das möglich?

    vg
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Möglich ja. Du müsstest dich in die Tiefen der regulären Ausdrücke einarbeiten. Danach müsstest du das Parentobjekt um diese ganzen div's neu schreiben. Allerdings ergeben sich da mehrere Probleme: a) der User sieht, dass der Inhalt neu geschrieben wird, b) reguläre Ausdrücke sind in Javascript nicht besonders schnell (zumal hier auch noch das ganze Dokument bearbeitet werden muss) und c) User mit deaktiviertem JavaScript oder Werbeblockern sehen von dem ganzen Zauber nichts.

    Sollte es bei deinem Ansinnen nur darum gehen, auf mehreren Seiten das Design nachträglich zu ändern, nimm einfach einen Editor, der Texte automatisch in mehreren Dateien ersetzen kann (z.B. Weaverslave).
     
  3. Jamirus

    Jamirus Byte

    Also es geht hier genau um ein PHP Skript das automatisch mithilfe einer rekursiven Methode einen Stammbaum erzeugt. Die Daten nimmt es aus einer MySQL Datei. Es werden Objekte der selbstgeschriebenen Klasse Person erzeugt und jede Person wird mit den entsprechenden anderen Personen verknüpft mithilfe von Referenzen. Z.B. Mutter, Vater, Kinder usw.

    Das klappt alles wunderbar, nur da die rekursive Funktion auf eine bestimmte Art durch den Stammbaum wandert um den HTML Code auf diese Weise zu erzeugen muesste halt nachträglich um die entsprechenden Divs wie oben beschrieben ein weiteres Div erzeugt werden damit alles zu 100% später mit CSS dynamisch ist. Die rekursive Funktion umzuschreiben ist definitiv der längere und komplexere Weg daher suche ich die Lösung mithilfe von Javascript.

    Später sollen nur noch Einträge in der Datenbank vorgenommen werden und der Stammbau sich dementsprechend dynamisch anpassen. Das funktioniert alles nur momentan kann ich noch kein CSS FIle erstellen das für jede mögliche Art von Konstelationen im Stammbaum diesen dynamisch erzeugen würde. Das ist jedoch mein Ziel.

    Javascript muss auf dem lokalen System vorhanden sein, falls nicht wird der User darauf aufmerksam gemacht. Aber das Tool soll eigentlich nur im privaten Bereich Anwendung finden.

    Vllt hilft das etwas mein Problem besser zu verstehen.

    vg
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Mit "paar_genxxxx" hast du den Krempel doch schon strukturiert. Schreib doch die Ergebnisse in ein zweidimensionales Feld:

    [0] -> ["paar_gen0"]

    ...dann brauchst du es nur noch sortieren und per foreach-Schleife ausgeben. In selbiger ergänzt du dann entsprechend des Index. Mal in "Lautschrift":

    PHP:
    echo "<div class=\"0\">";
    alter_index=0;
    foreach (... as 
    aktueller_datensatz => nutzlast) {
       if (
    alter_index != aktueller_index) {
         echo 
    "</div><div class=\"".aktueller_index."\">";
         
    alter_index=aktueller_index;
       }
       echo 
    "<div class=\"paar_gen".aktueller_index."\">".nutzlast."</div>";
    }
    echo 
    "</div>";
     
  5. Jamirus

    Jamirus Byte

    Super danke!

    Hab deinen Lösungsansatz genommen und es klappt jetzt alles.

    Danke für deine Hilfe.:)
     
Thread Status:
Not open for further replies.

Share This Page