Autor Zpráva
matata8611
Profil
Ahoj prosím o radu, jelikož js moc neovladam a na google jsem nenasel priklad, ktery by mi pomohl.

Po kliknutí na text "zobrazit vice ktitetii" potrebuji aby tridy .1,.2,.3,.4,.5, dostali funkci display:normal a samotny text na ktery jsem kliknul a ma tridu .more zmizel.
Martin02
Profil
matata8611:
document.getElementsByClassName('more')[0].onclick = function() {
  for (var i = 1; i <= 5; i++)
    document.getElementsByClassName(i.toString())[0].style.display = "block";

  this.style.display = "none";
};
matata8611
Profil
aha, děkuji, ale udělal jsem chybu v příkladu. ony ty třídy nebudou 1 2 3 4 5, ale např. .security-10, . class-15, ... prostě budou různé.
juriad
Profil
A nemůžeš nastavit třídu společnému předkovi a následně mít v CSS pravidla:

.predek .security-10, .predek .class-15, ... {
  display: block;
}
Chamurappi
Profil
Reaguji na Martina02:
Špatně, metoda getElementsByClassName nefunguje ve všech prohlížečích.


Reaguji na matatu8611:
Viz juriad, třídu spolenému předkovi změníš onclick="document.getElementById('ídéčko-předka').className = 'nová-třída';", zbytek udělá CSS.
Martin02
Profil
Chamurappi:
Díky za upozornění, ale chci se zeptat: co místo toho použít? Navíc o řádek níž doporučuješ document.getElementById - to není špatně? To jedna funkce pro výběr dle tříd nefunguje a (už jenom názvem) velmi podobná metoda pro výběr dle id funguje?

Já moc JS nedělám a když už jo, tak skoro na vše používám jQuery, ale když jsem se učil úplné základy JS, tak jsem vždy vyděl používat tyhle metody...


Díky
_es
Profil
Martin02:
to není špatně? To jedna funkce pro výběr dle tříd nefunguje a (už jenom názvem) velmi podobná metoda pro výběr dle id funguje?
Áno, jedna metóda funguje vo viac prehliadačoch ako druhá metóda.
juriad
Profil
Těch metod existuje několik:
document.getElementsByClassName - IE9
document.getElementById - IE5.5
document.querySelector - IE8
document.querySelectorAll - IE8(9)
Document.getElementsByName - chová se všelijak

Jsou různě podporované v různých prohlížečích.

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: