Autor | Zpráva | ||
---|---|---|---|
Dědeček Profil * |
Dobrý den,
Jde nějak zjistit pomocí JS kolik se vyskytuje mezi tagy <body> divů s class example? Aby výsledek byl třeba int=5 .. Děkuji Moderátor Chamurappi: Titulek „Počet divů“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
|
||
ShiraNai7 Profil |
#2 · Zasláno: 30. 1. 2011, 11:13:51 · Upravil/a: ShiraNai7
Pokud jsou .example jen divy, tak jednoduse takto:
alert(document.getElementsByClassName('example').length); // vypise cislo Pokud ne a chtel by jsi spocitat exkluzivne jen ty divy, tak takto: var elems = document.getElementsByClassName('example'); var pocet = 0; for(var elem in elems) if(elems[elem].tagName === 'DIV') ++pocet; alert(pocet); //vypise cislo |
||
Dědeček Profil * |
#3 · Zasláno: 30. 1. 2011, 11:24:21
Bezva! Nevěřil jsem, že to půjde :) #1 funguje skvěle!! Díky moc!
|
||
Radek9 Profil |
#4 · Zasláno: 30. 1. 2011, 11:24:37 · Upravil/a: Radek9
ShiraNai7:
Metoda getElementsByClassName nefunguje v IE (nevím teda jak v nejnovější verzi, ale ve starších ne). |
||
ShiraNai7 Profil |
#5 · Zasláno: 30. 1. 2011, 11:47:53
Radek9:
Zajímavé, o tom jsem nevěděl. Tak možná použít jQuery .. samozřejmě jen v případě, že by jsi ten framework využil i na jiné věci. Viz tento topic |
||
Tori Profil |
#6 · Zasláno: 30. 1. 2011, 12:34:30 · Upravil/a: Tori
ShiraNai7:
„Tak možná použít jQuery“ Anebo nepoužít a jen obrátit váš postup: var elems = document.getElementsByTagName('div'); var pocet = 0; for(var i=0; i < elems.length; i++) if(elems[i].className == 'example') ++pocet; alert(pocet); //vypise cislo ↓ edit: Díky, opraveno, zkopírovala jsem bez přemýšlení z #2. |
||
Witiko Profil |
#7 · Zasláno: 30. 1. 2011, 23:21:31
Tori:
„for(var elem in elems)“ Takto bych polem / nodelistem rozhodně neprocházel, bude to procházet i všechny ostatní atributy prototypu Array, ne jen prvky pole. |
||
Časová prodleva: 13 let
|
0