Autor Zpráva
Title
Profil *
Zdravíčko, proč mi tohle nefunguje?

alert(document.getElementById(id).title.replace("&nbsp;", "<br>"));

má to v textu nahradit pevnou mezeru za br, ale zobrazí to v alertu ten text bez toho aby to tu mezeru nahradilo


díky

Moderátor Chamurappi: Titulek „replace“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Chamurappi
Profil
Reaguji na Title:
Protože v titlu není řetězec „&nbsp;“, je tam přímo znak tvrdé mezery (tedy U+00A0). Entity se nahrazují už na úrovni HTML parseru. Nemůžeš-li/nechceš-li psát do skriptu přímo znak tvrdé mezery, můžeš použít escape sekvenci „\u00A0“.
Title
Profil *
Ten element ze kterého to ten title vycucne vypadá takhle: <span title="test &nbsp; test">aa</span> a v něm to má tu mezeru nahradit. Zkusím tam tedy místo toho napsat tu escape sekvenci.
Title
Profil *
Supr, už to funguje díky
Chamurappi
Profil
Reaguji na Title:
element ze kterého to ten title vycucne vypadá takhle
Ale hodnotou atributu pak je „test   test“. Entita je jen technický prostředek pro zápis znaku.

Mimochodem, kdybys ten kousek skriptu strčil do HTML atributu…
<span title="test &nbsp; test" onclick='alert(document.getElementById(id).title.replace("&nbsp;", "<br>"));'>aa</span>
… tak by fungoval, protože v onclicku by se &nbsp; také nahradil za tvrdou mezeru.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: