Autor Zpráva
Leo
Profil
Narazil jsem na trivialni problem, ale neznam v tuto chvili trivialni reseni (nebo mi to jen nemysli). Pokud vytvarim elementy a textove uzly pres DOM (createElement a createTextNode), jakym zpusobem do kodu dostanu znakove entity, treba   ? Pokud je v textovem uzlu tak se neinterpretuje jako html kod, samozrejme a takto doslova se vypise... Jsem zmateny jak lesni fcela, Leo
Oswald
Profil
Řešení je zapsat to jako escape sekvenci, nbsp konkrétně jako '\u00A0' nebo tam přímo použít ten znak (nbsp na windows tuším alt + 0160). Případně použít innerHTML :)
Leo
Profil
innerHTML znam, ale to nechci. Ty unicode escape sekvence jsem mezitim vygooglil taky. ale diky, Leo
habendorf
Profil
createTextNode("text1\xA0text2");
habendorf
Profil
no nic...
Leo
Profil
:-)
peta
Profil *
Leo viz habendorf Oswald
www.google.com
createTextNode &nbsp

createTextNode and &nbsp!
http://xpoint.ru/forums/programming/javascript/misc/thread/34265.xhtml

[обр]
Lynn(31/178)[досье]
createTextNode('\xA0\xA0\xA0\xA0\xA0')

Codigos html y javascripts para tu web
http://www.creatupropiaweb.com/codigos/Mas_Codigos.htm
createTextNode(String.fromCharCode(160)));

Javascript document.write
http://www.ozzu.com/ftopic57423.html
function clear(){ var errSpan = document.getElementById('errSpan'); errSpan.replaceChild(document.createTextNode(' '),

halans: features: DOM scripting
http://www.halans.be/features_DOMscripting.html
document.createTextNode("\u00a0");
Chamurappi
Profil
A nějaké obecnější řešení Leova dotazu by nebylo? Je-li entita jeden znak a víme-li, který to zrovna je, tak je to samozřejmě v pohodě. Obsah znakové entity však může být delší než znak. V SGML/XML smí obsahovat i celé elementy nebo soubory. Co potom?

Sáhneme po DOMu a užijeme:
node = document.createEntityReference(jméno entity);

Prosté. Elegantní. Ale v HTML prohlížečích nefunkční :-)
=> obecnější řešení by opravdu nebylo. Nejobecnější je již zmíněné innerHTML.
habendorf
Profil
Sáhneme po DOMu a užijeme:
node = document.createEntityReference(jméno entity);


Jo, není problém.
node = document.createEntityReference(nbsp);

Ale v HTML prohlížečích nefunkční :-)
Právě :o)
Leo
Profil
"node = document.createEntityReference(jméno entity); "

Taky jsem to ve Flanaganovi vystrachal, i s tou poznamkou. Neumi to ani Opera 9, ktera si leccos doplnila do vzdelani... Leo
peta
Profil *
Chamurappi
Tak jako, jestli jsi si to prostudoval, tam jsem dal hned 4 reseni, ktere by mohli fungovat...
createTextNode('\xA0\xA0\xA0\xA0\xA0')
createTextNode(String.fromCharCode(160)));
createTextNode(' ');
createTextNode("\u00a0");
a zajimave je prave to treti, ze pouzivaji jednoduche uvozovky
Samozrejme to nemam odzkousene, jen jsem udelal vypis z prvni stranky na googlu, co mi to naslo...
peta
Profil *
Ok, takze sem to prave potreboval take a take jsem nenasel nic.

=== non-break space ===
NO createTextNode('\xA0');
NO createTextNode(String.fromCharCode(160)));
NO createTextNode(' ');
NO createTextNode(' ');
NO createTextNode("\u00A0");
NO createEntityReference(nbsp);
OK innerHTML(' ');

problem je v tom, jak to interpretuje www prohlizec. On to sice zpracuje jako znak 160, ale do html kodu stejne da mezeru :) Takze asi tak :)
Ke createEntityReference jsem nasel jen tolik, ze nodeType=6 (=EntityReference) neni podporovan pres HTML , ale snad by to melo jit v XML
Toto téma je uzamčeno. Odpověď nelze zaslat.