Autor Zpráva
Anonymní
Profil *
Ahoj, prosím poradí někdo, jak ovlivňovat javascriptem více objektů najednou? Dejme tomu, že mám několik prvků (<a..., <div... apod), která bych chtěl najednou skrýt. Není problém každému přiřadit id a pomocí adresování document.getElementById(jmeno) jedno podruhém poskrývat, ale je to nepohodlné.

Jak mohu například ovlivnit všechny prkvy, kterým přiřadím stejné name? Předpokládám, že přiřadit stejné ID není možné, zkoušel jsem to a javascript reagoval vždy jen na jedno. ID musí být patrně jedinečné. Děkuji za pomoc.
Mistr
Profil
ID musí být patrně jedinečné
Ano, ID musí být jedinečné. Víc by mohlo být class, ovšem nevím, jak je pro Tvůj problém zapracovat. Možná ovšem někdo poradí.
nightfish
Profil
var a = document.getElementsByName("jmenoPrvku");

for (i = 0; i < a.length; i++) {
a[i].style.display = 'hidden';
}

tahle nejak by to mohlo fungovat...
Anonymní
Profil *
Mistr: to by bylo řešení, pokud bych používal vždy jen jednu hodnotu class, ale používám u různých prvků různou (někde class="maly", někde class="velky nahore", někde class="vpravo, maly, odsazeni" apod.)


co se týče příspěvku nightfishe, to je řešení vyžadující speciální funkci... myslel jsem, že je to jednodušší, něco jako náhrada za document.all.povinne, kdy by to pracovalo se všemi prvky s ID nebo s name "povinne"... mám to navázáno na onclick.

původně se mělo jednat o odkaz ve stylu <a href="#" onclick="document.all.povinne.className="none"> s tím, že třída "none" by mi skryla všechny prvky s ID / name pojmenovaným jako "povinne".

domníval jsem se, že to jde nějak primitivně :\
Anonymní
Profil *
Myslíte, že vůbec je možné popisovaného výsledku dosáhnout? Abych nepídil zbytečně, už to hledám a zkouším asi dvě hodiny...
Jay Jay
Profil
Teda doufam, že jsem pochopil, co potřebuješ :
Co třeba všechny ty věci dát např. do spanu a následovně tento span skrýt :)
Anonymní
Profil *
jay jay: ale já potřebuji skrýt více spanů různě rozesetých po stránce. kdybych mohl, všechno hodím do jednoho divu a ten skryji, ale nejde to. objekty jsou na různých místech... zkouším vše možné, nabastlit tam i vlastní tag třeba obalit každou položku <povinne> a </povinne> a zkouším to přes getElementsByTagName, ale ani to nefunguje.

zkrátka zanic nemohu přijít na to, jak ovlivnit více prvků najednou. neříkejte mi, že to není možné, že by tvůrci javascriptu něco tak základního neřešili??
Anonymní
Profil *
pokud to nejde standardně, zvládl by někdo napsat funkci, která by byla schopna hromadně nastavit display:none u prvků uvedených v parametr scriptu?

v odkazu bych tedy uvedl něco jako onclick="skryj(prvek1,prvek2,prvek3...) a funkce by to už pořešila sama... nic lepšího s tím asi dělat nepůjde :/
Honza Hučín
Profil
Dal bych všem spanům stejnou class, pro tu bych definoval v samostatném stylopisu display:none (nebo visibility:hidden). Ten se pak dá potlačit. Viz pěkný příklad:
http://www.jakpsatweb.cz/javascript/priklady/styly-zamena.html
Anonymní
Profil *
děkuji, Honzo, ale na uvedené stránce je napsáno "Předchozí příklady nefungují ve Firefoxu a jiných mozillách. Tam se to dělá
přes číslo stylu." tohle je hrozně krkolomné, protože bych musel tu spoustu položek obalovat spany. Každopádně moc děkuji za všechny rady, třeba na to někdo přijde.

Jen mi teď přijde dost divné, že tohle ještě nikdo neřešil?!??
Honza Hučín
Profil
Anonymní
Kdyby sis zkusil kliknout na dolní odkazy, zjistil bys, že ty v Mozille fungují taky.
Anonymní
Profil *
děkuji, Honzo! funguje to!! sice je to poměrně krkolomné, ale ještě snesitelně. výsledek funguje zcela bezproblémově. snad tato diskuze někomu pomůže. ještě jednou moc děkuji!
Anonymní
Profil *
Honzo, v mozillách nefunguje ani tebou zmiňovaná druhá varianta. Schválně si ty odkazy vyzkoušej :\
Toto téma je uzamčeno. Odpověď nelze zaslat.

0