Ergebnis 1 bis 9 von 9
  1. #1
    RottenRoller ist offline Grünschnabel
    registriert
    09-11-2008
    Ort
    Flingern
    Beiträge
    6

    <tag> durch modifizierten <tag> ersetzen

    Hi!

    Ich bin leider kein JavaScript-Profi und stehe daher vor einem Probem.

    Wordpress generiert um einen Link automatisch <li></li>-Tags. Da ich innerhalb eines Templates diese <li>-Tags modifizieren möchte, muss ich mittels JavaScript darauf zugreifen. Z. Zt. habe ich folgenden Code:

    Code:
    <script type="text/javascript">
    var bereich = document.getElementById("left_content");
    var listen = bereich.getElementsByTagName("<li>");
    var listenneu = "<li onmouseover='this.fade(fade_in);' onmouseout='this.fade(fade_out);'>";
    
    listen.replace('listenneu');
    </script>
    Ich denke da ist einiges im Argen
    Meine Fragen:
    1.) Wie kriege ich es hin, dass das Tag ersetzt wird?
    2.) Wo muss ich das Ganze m Markup positionieren (vor dem Tag oder danach)?
    3.) Geht das überhaupt oder bin ich komplett auf dem Holzweg?

    Vielen Dank für Eure Hilfe!

  2. #2
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: <tag> durch modifizierten <tag> ersetzen

    Du könntest mittels document.getElementsByTagName('li') und einer FOR-Schleife auf jedes einzelne Element zugreifen und diese um die Events erweitern.
    SELFHTML: JavaScript / Objektreferenz / document
    SELFHTML Forumsarchiv / 2005 / Juni / Eventhandler dynamisch hinzufügen

  3. #3
    RottenRoller ist offline Grünschnabel
    registriert
    09-11-2008
    Ort
    Flingern
    Beiträge
    6

    AW: <tag> durch modifizierten <tag> ersetzen

    Danke schonmal für deine Hilfe.
    Die Referenz von SELFHTML kannte ich auch schon. Allerdings geht es bei diesen Beispielen (wenn ich das richtig sehe) um Inhalte zwischen den Tags und nicht um die Tags selbst.
    Wäre für weitere konkretere Hinweise dankbar. Übrigens wäre auch ein Lösungsansatz über MooTools :mooh: denkbar. Z. B. mit

    Code:
    $$('#left_content ul li').replace('listenneu')
    oder so...

    Jemand eine Idee?

  4. #4
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: <tag> durch modifizierten <tag> ersetzen

    Nein dass siehst du falsch. Mittels
    Code:
    var anz=document.getElementsByTagName('li');
    for (var e=0;e<anz;e++) {
      document.getElemntsByTagName('li')[0].style="font-weight: bold;";
    }
    könntest du z. B. die Schrift der LIs auf fett setzen. Genauso kannst du auch onchanges setzen.

  5. #5
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: <tag> durch modifizierten <tag> ersetzen

    Nein, das ist falsch!

    Die CSS Eigenschaften werden mit JS so gesetzt:
    PHP-Code:
    [objekt].style.fontWeight 'bold'

  6. #6
    ToM80 ist offline Foren-Gott
    registriert
    27-03-2006
    Ort
    Neuss
    Beiträge
    2.729

    AW: <tag> durch modifizierten <tag> ersetzen

    Richtig, sry. Aber die Aussage bleibt die gleiche, mittels der obrigen Links hat RottenRoller die möglichkeit die Tags zu "manipulieren".

  7. #7
    RottenRoller ist offline Grünschnabel
    registriert
    09-11-2008
    Ort
    Flingern
    Beiträge
    6

    AW: <tag> durch modifizierten <tag> ersetzen

    Mahlzeit!

    Ich bin das ganze mal etwas anders angegangen. Über .innerHTML kann man nämlich HTML-Code als Zeichenkette einlesen und dann verändern. Dank dem Ansatz von ToM80 ergab sich eine für mich eine mehr als ausreichende Lösung.

    so sieht's dann aus:

    PHP-Code:
    function li_change2(){
    var 
    Satz document.getElementById("container").innerHTML;
    var 
    anz=document.getElementsByTagName('li');
    for (var 
    ee=0ee anz.lengthee++) {
    var 
    Satz_neu Satz.replace(/<li/g"<li onmouseover='this.fade(fade_in);' onmouseout='this.fade(fade_out);'");}
    document.getElementById("container").innerHTML Satz_neu;

    Fazit: Kannst alt werden wie'ne Kuh, lernst immer noch dazu

    Danke an alle!

  8. #8
    ein schlauer ist offline Lounge-Member
    registriert
    18-08-2004
    Beiträge
    14.671

    AW: <tag> durch modifizierten <tag> ersetzen

    schön ist das nicht.
    Du hast doch die Elemente und kannst ihnen auch mit JS eine Event Funktion zuweisen ohne den HTML code zu modifizieren. In etwa so:
    PHP-Code:
    function li_change2(){
    var 
    anz document.getElementsByTagName('li');
    for (var 
    0anz.lengthi++) {
    anz[i].onmouseover = function() { fade(fade_in);};
    anz[i].onmouseout = function() { fade(fade_out);};


  9. #9
    RottenRoller ist offline Grünschnabel
    registriert
    09-11-2008
    Ort
    Flingern
    Beiträge
    6

    AW: <tag> durch modifizierten <tag> ersetzen

    TOP!
    Das ist natürlich die wesentlich elegantere Lösung. Und manchmal sieht man halt nur noch Bretter...
    Ist echt schwer bei JavaScript den Überblick zu behalten °°

    Vielen Dank, ein schlauer, hast deinen Namen verdient

Ähnliche Themen

  1. suchen ersetzen
    Von timste im Forum JavaScript
    Antworten: 7
    Letzter Beitrag: 02-02-2007, 15:21
  2. BB-Codes ersetzen
    Von schwerminator im Forum Serverseitige Programmierung
    Antworten: 10
    Letzter Beitrag: 11-11-2004, 16:20
  3. buttons durch bilder ersetzen...
    Von sanchez im Forum Allgemeines
    Antworten: 10
    Letzter Beitrag: 14-09-2003, 09:11
  4. kaputte fernbedienungen ersetzen
    Von antiheld2000 im Forum Smalltalk
    Antworten: 12
    Letzter Beitrag: 17-07-2002, 06:58
  5. SUBMIT-Button durch Textlink ersetzen
    Von Philipp im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 28-01-2002, 21:35

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •