javascript-import bearbeiten
Pit Stop
- php
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
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
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
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
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
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