Autor | Zpráva | ||
---|---|---|---|
SwimX Profil |
#1 · Zasláno: 3. 3. 2010, 22:44:54 · Upravil/a: SwimX
Využívám
<span name='dot'> dot </span> <script> document.getElementsByName('dot')[0].innerHTML = '.'; </script> IE ale nefunguje. Vím, že je to tím, že atribut name ke spanu nepatří, ale jak jinak to udělat? Jde mi o nahrazování zavináčůů a teček v emailu. Těch je na stránce několik, tak jsem to řešil takle. V IE ale záměna neproběhne. Děkuji za každou radu, JS není má stránka. |
||
Chamurappi Profil |
#2 · Zasláno: 3. 3. 2010, 22:46:08
Reaguji na SwimXe:
Použij atribut id a metodu document.getElementById (ta nevrací pole, ale jen jeden element).
|
||
SwimX Profil |
#3 · Zasláno: 3. 3. 2010, 22:48:34
Chamurappi:
já mám na stránce několik emailů. Každý ve tvaru email<span name='change_at'> (<i>zavináč</i>) </span>gmail<span name='change_dot'> (<i>tečka</i>) </span>com a fci function make_emails(){ var pole = document.getElementsByName('change_at'); for(var i = 0, poc = pole.length; i < poc; i++){ if(pole[i]) { pole[i].innerHTML = '@'; } } pole = document.getElementsByName('change_dot'); for(var i = 0, poc = pole.length; i < poc; i++){ if(pole[i]) { pole[i].innerHTML = '.'; } } } to bych ji musel volat pro každé id zvlášť? To se mi nechce. |
||
sysel Profil |
#4 · Zasláno: 5. 3. 2010, 01:02:04
MSIE sice u <span>u podle atributu name nehledá *), ale atribut sám nemaže, takže si myslím, že by šlo posbírat všechny <span>y metodou getElementsByTagName('span') a v cyklu si vybrat jen ty, které mají atribut name=='dot'. Kromě toho, sběr může být omezen na určitou podskupinu kupř. formular.getElementsByTagName()
*) myslím, že MSIE úzkoprse očekává atribut name jen u položek <form>u |
||
SwimX Profil |
#5 · Zasláno: 6. 3. 2010, 08:55:17
Nakonec jsem to udělal tedy takle:
skola<i class='change_at'> (zavináč) </i>email<i class='change_dot'> (tečka) </i>cz <script>make_emails();</script> <script>function make_emails(){ pole = document.getElementsByTagName('i'); for(var i = 0, poc = pole.length; i < poc; i++){ if(pole[i].className=='change_at') { pole[i].innerHTML = '@'; } else if(pole[i].className=='change_dot') { pole[i].innerHTML = '.'; } } }</script> |
||
Witiko Profil |
#6 · Zasláno: 6. 3. 2010, 11:19:43 · Upravil/a: Witiko
SwimX: Přijde mi hloupost používat na identifikaci atribut určený k definici css stylů a . Použil bych ten první kód, který vám nefungoval v MSIE a implementoval bych si vlastní getElementsByName funkci, která pojede i pod MSIE:
Poslední příspěvek v této diskuzi, autor se jen přepsal a jméno funkce napsal getElementByName místo getElementsByName: http://diskuse.jakpsatweb.cz/?action=vthread&topic=61403&forum=8&page=-1 |
||
Časová prodleva: 14 let
|
0