Gunnar Bittersmann: Javascript und Sonderzeichen im title Attribut

Beitrag lesen

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?
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)