Pit Stop: javascript-import bearbeiten

Hallo zusammen,
ich importiere eine JS-datei, die ein paar Listenpunkte beinhaltet.
Über str_replace nehme ich bereits ein paar Änderungen vor, bevor ich den Inhalt ausgebe.
Nun möchte ich aber, dass jeder 2te oder jeder 3te Listenpunkt einen anderen hintergrund hat.
Wie bekomme ich das denn hin?
die php-replace-Funktionen, die ich kenne ersetzen direkt alles und ich kann nicht abbrechen oder konditionalfälle mit angeben...

ich stehe also gerade ziemlich auf dem Schlauch.

kann mir da einer mit einer Idee ein bißchne auf die Sprünge helfen?

danke, Pit

  1. Hi,

    ich importiere eine JS-datei, die ein paar Listenpunkte beinhaltet.

    In welchem Format?

    Über str_replace nehme ich bereits ein paar Änderungen vor, bevor ich den Inhalt ausgebe.

    Welcher Art?

    Nun möchte ich aber, dass jeder 2te oder jeder 3te Listenpunkt einen anderen hintergrund hat.
    Wie bekomme ich das denn hin?

    In dem du sie fuer CSS identifizierbar machst, bspw. durch Vergabe entsprechender Klassen.

    Es empfiehlt sich eigentlich das zu machen, nachdem man aus den (wie auch immer gelieferten) Daten einen DOM-(Teil-)Baum aufgebaut hat - den kann man naemlich einfach durchlaufen, und dabei Elementanzahlen mitzaehlen o.ae.
    Dann braucht man nicht mit dem Ersetzen von Zeichenketten herumhantieren, was aufwendiger und fehleranfaelliger sein duerfte.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. hi, bekomme leider kein json oder xml oder...
      habe  nur einen Javascript-String, der html-Output beinhaltet.
      Klassen füge ich über str_replace hinzu, allerdings kann ich ja in dem fall nur jedem Listenpunkt die gleiche klasse geben oder?

      bsp.:

      document.write(' \  
      <ul class="punkt"> \  
        <li class="punkt"> \  
            blblbl \  
        </li> \  
        <li class="punkt"> \  
           dgdfg \  
        </li> \  
        <li class="punkt"> \  
           dgdfg \  
        </li> \  
      </ul> \  
      ');
      

      Die Slashes und JS-Syntax nehme ich über str_replce raus und füge dann die Klassen hinzu.

      meine Frage lautet also: Wie schaffe ich es den Listenpunkten unterschiedliche klassen zuzuteilen?
      danke pit

      1. Hi,

        hi, bekomme leider kein json oder xml oder...
        habe  nur einen Javascript-String, der html-Output beinhaltet.

        Und wer erzeugt den?

        Klassen füge ich über str_replace hinzu,

        Also serverseitig - dort, wo der Code auch erzeugt wird?

        allerdings kann ich ja in dem fall nur jedem Listenpunkt die gleiche klasse geben oder?

        Wenn du nur ganz simpel <li> durch <li class="..."> ersetzt - dann ja.
        Dann muesstest du schon etwas mehr Aufwand treiben - erst mal Position des uebernaechsten <li> ermitteln, nur ab da und nur das erste Vorkommen ersetzen, und wieder so weiter ...

        meine Frage lautet also: Wie schaffe ich es den Listenpunkten unterschiedliche klassen zuzuteilen?

        Meine Antwort noch mal: Am einfachsten, wenn du bereits einen DOM-Baum vorliegen hast. Im Zweifelsfalle also erst clientseitig.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. an dem vorliegenden material kann ich allerdings nun mal nichts ändern...
          denke, da werde ich dann was komplexeres bauen müssen...

          danke, falls Du Doch noch nen weiteren Tipp hast, dann her damit;-)

          gruß pit

          1. Hi,

            danke, falls Du Doch noch nen weiteren Tipp hast, dann her damit;-)

            Den schon zwei mal gegebenen werde ich jetzt nicht noch ein drittes Mal wiederholen.

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“