Autor | Zpráva | ||
---|---|---|---|
slovakCZ Profil |
#1 · Zasláno: 24. 3. 2010, 14:42:44
Dobrý den,
mohu poprosit o kontrolu? Jaksi mi nefunguje přidání třídy. Moc temu neruzumim, jelikož nevidím chybu. <html> <head> <script type="text/javascript" src="http://prototypejs.org/assets/2009/8/31/prototype.js"></script> <script type="text/javascript"> function addClass(){ node = $("element"); node.addClassName("title"); } </script> </head> <body> <input id="element" class="" onclick="addClass();"> </body> </html> |
||
Chamurappi Profil |
#2 · Zasláno: 24. 3. 2010, 14:53:36
Reaguji na slovakaCZ:
„Jaksi mi nefunguje přidání třídy.“ Nevěřím. |
||
slovakCZ Profil |
#3 · Zasláno: 24. 3. 2010, 16:05:59
věř, chyba byla drobná... script musím vložit až pod input.. :o) takže takto:
<html> <head> <script type="text/javascript" src="http://prototypejs.org/assets/2009/8/31/prototype.js"></script> </head> <body> <input id="element" class="" onclick="addClass();"> <script type="text/javascript"> function addClass(){ node = $("element"); node.addClassName("title"); } </script> </body> </html> taková drobnost dokáže člověku zabrat hodinu.. bože, bože :D |
||
Chamurappi Profil |
#4 · Zasláno: 24. 3. 2010, 16:27:48
Reaguji na slovakaCZ:
„script musím vložit až pod input.. :o)“ Nemusíš. |
||
slovakCZ Profil |
#5 · Zasláno: 24. 3. 2010, 17:38:20 · Upravil/a: slovakCZ
Ale musíš... zkus zkopírovat kód výše a vytvořít čistý html dokument jen s tímto kódem. (odkaz na prototype.js je veden na oficiální stránky, takže není potřeba nic stahovat).
Při vložení JS nad input nefunguje přidání třídy. Když ovšem vložím JS pod input tak již ano. Opravdu tomu tak je, zkoušel jsem ;) //edit: možná to je kvůli tomu, že neuvádím doctype atd atd.. jedná se o "stránku requestu ajaxu", tak proto.. se všemi náležitostmi, které ma xhtml obsahovat jsem to nezkoušel (abych se přiznal) |
||
Chamurappi Profil |
#6 · Zasláno: 24. 3. 2010, 17:42:45 · Upravil/a: Chamurappi
Reaguji na slovakaCZ:
„zkus zkopírovat kód výše a vytvořít čistý html dokument jen s tímto kódem“ To jsem udělal už před třemi hodinami. Edit k editu: Já také žádné náležitosti neuváděl, nemá smysl deklarovat XHTML, když ho prohlížeče berou jako HTML. |
||
_es Profil |
#7 · Zasláno: 24. 3. 2010, 18:04:34
slovakCZ:
Ináč ten tvoj kód sa dá s rovnakou funkčnosťou zredukovať na: <input onclick="this.className='title'"> |
||
slovakCZ Profil |
#8 · Zasláno: 24. 3. 2010, 20:37:16
Chamurappi:
omlouvám se, chyba na mé straně. Zkoušel jsem to pod nejnovějším Firefoxem s pluginem FireBug. Po kliknutí na input se třída ve firebugu nepřidala. Když jsem skript vložil pod input, tak již ano.. z toho jsem vyvodil, že to nefunguje.. je to tedy nějaký bug ve firebugu :) _es: ano, to je také řešení. Byl jsem tak zoufalý, že jsem hledal i na googlu jak se přidává třída pomocí prototype frameworku.. :o) toto řešení bylo kopírované z nějaké stránky a šlo mi jen o "funkčnost"... můj konkrétní případ vypadá naprosto, jinak ;) Ale děkuji za připomínku. Tom |
||
Časová prodleva: 5 dní
|
|||
Witiko Profil |
#9 · Zasláno: 29. 3. 2010, 22:10:51 · Upravil/a: Witiko
Jenom bych rád dodal v souvislosti s poměrně matoucím titulkem, že javascript nepoužívá třídy, ale prototypy. Jde o dva rozdílné způsoby objektového programování, přičemž každý z nich má své výhody, úskalí a zákonitosti co se týče logiky.
http://en.wikipedia.org/wiki/Prototype-based_programming#Comparison_with_class-based_models |
||
Chamurappi Profil |
#10 · Zasláno: 29. 3. 2010, 22:12:13 · Upravil/a: Chamurappi
Reaguji na Witika:
Jen tak pro pořádek jsi sem přinesl nepořádek :-) Není řeč o třídách v JS, ale o třídách v HTML. Jinak máš samozřejmě pravdu. |
||
Witiko Profil |
#11 · Zasláno: 29. 3. 2010, 22:16:33 · Upravil/a: Witiko
Chamurappi: Aj, tak to se omlouvám, neprostudoval jsem ten kód dost důkladně. Titulek "Přidání třídy v Prototype" a zařazení v javascript sekci mě naprosto zmátlo. :-D
|
||
Časová prodleva: 14 let
|
0