Kalle_B: Mehrere gleiche Zeichen ersetzen

Hallöle,

ich möchte Mailadressen anzeigen, dazu muss das < sichtbar sein:

<div id='emails'>
 Hubert hubert@aol.de
,Conny c.mayer@neuwied.de
</div>

Habe ich mit replace versucht:

  document.getElementById( 'emails' ).innerHTML =  
  document.getElementById( 'emails' ).innerHTML.replace( '<', '&lt;' );  
  document.getElementById( 'emails' ).innerHTML =  
  document.getElementById( 'emails' ).innerHTML.replace( '>', '&gt;' );  

Das wird angezeigt:

Hubert <hubert@aol.de=""> ,Conny

Ersetzt replace nur das erste Vorkommen? UNd woher kommt das seltsame =""

Leider kann ich den Quellcode nach dem replace nicht sehen (Opera).

Gruß, Kalle

  1. Hi!

    ich möchte Mailadressen anzeigen, dazu muss das < sichtbar sein:

    Du möchtest Text in ein div-Element schreiben. Dann eignete sich ein TextNode besser, als über den Umweg HTML zu gehen.

    <div id='emails'>
    Hubert hubert@aol.de
    ,Conny c.mayer@neuwied.de
    </div>

    Wie notiert man die HTML-eigenen Zeichen <, >, & und " in HTML? Das was du da geschrieben hast, ist ungültiges HTML. Dass dann bei Javascript Mist rauskommt, ist verständlich. Schau dir mit FireBug oder den anderen in die Browser integrierten Developer-Tools an, was daraus für einen DOM entsteht.

    document.getElementById( 'emails' ).innerHTML =

    document.getElementById( 'emails' ).innerHTML.replace( '<', '&lt;' );
      document.getElementById( 'emails' ).innerHTML =
      document.getElementById( 'emails' ).innerHTML.replace( '>', '&gt;' );

      
    Warum lässt du den armen Browser tausendmal das gleiche Element suchen?  
      
      
    Lo!
    
    1. Hat sich erledigt.

      Im Editor wollte ich pro Mail eine Zeile wegen der Übersicht.

      Dachte, die Zeilenschaltung stört bei der Übernahme nach Thunderbird. Falsch gedacht. Brauche HTML gar nicht.

      Kalle