Marco: Javascript und Sonderzeichen im title Attribut

Hallo zusammen

Ich setze das title-Attribut eines Elements im Internet-Explorer folgendermassen:

  
document.getElementById('elementId').setAttribute('title', "Und?
Wie siehts in Ihrem Browser aus?");  

oder

  
document.getElementById('elementId').title = 'Und?
Wie siehts in Ihrem Browser aus?';  

Leider wird der Zeilenumbruch im title-Attribut nicht interpretiert, d.h. die Zeichen werden eins zu eins ausgegeben. Setze ich aber den Text von Anfang an direkt in den HTML-Quelltext, dann klappts:

  
<div id="elementId" title="Und?&#xD;Wie siehts in Ihrem Browser aus?">  

Wie kann ich per Javascript das Title-Attribut setzen, sodass auch Zeilenumbrüche angezeigt werden?

Viele Grüsse
Marco

  1. Hello out there!

    Ich setze das title-Attribut eines Elements im Internet-Explorer folgendermassen:

    Im IE?? Ich dachte, du würdest das 'title'-Attribut in einem Script setzen.

    Willst du damit andeuten, das Ganze müsste nur im IE funktionieren?

    Dann solltest du von

    document.getElementById('elementId').setAttribute('title', "Und?&#xD;Wie siehts in Ihrem Browser aus?");

    Abstand halten; IIRC hat der IE Probleme mit 'setAttribute'.

    Leider wird der Zeilenumbruch im title-Attribut nicht interpretiert, d.h. die Zeichen werden eins zu eins ausgegeben.

    Na sicher doch. Script-Bereiche sind in HTML (also auch für einen Tag-Soup-Parser bei XHTML) CDATA; nicht PCDATA.

    Wie kann ich per Javascript das Title-Attribut setzen, sodass auch Zeilenumbrüche angezeigt werden?

    Indem du das Zeichen dem Kontext entsprechend angibst: dieser ist nicht HTML, sondern JavaScript:

    document.getElementById('elementId').title = 'Und?\u000D;Wie siehts in Ihrem Browser aus?';

    Firefox zeigt statt Zeilenumbruchs ein Leerzeichen.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hallo,

      Danke! Mit \n klappts ebenfalls.

      Viele Grüsse
      Marco