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
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 *
Bezva! Nevěřil jsem, že to půjde :) #1 funguje skvěle!! Díky moc!
Radek9
Profil
ShiraNai7:
Metoda getElementsByClassName nefunguje v IE (nevím teda jak v nejnovější verzi, ale ve starších ne).
ShiraNai7
Profil
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
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
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.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0