Autor Zpráva
stepanvich
Profil
Čaute, V JS jsem opravdu nováček (přečet jsem jeden dva články...) a jediné co tak používám je metoda nejakaudalost=document.getElementById('neco').style.neco a podle toho vždycky upravuju, ale potřeboval bych něco co by upravilo celou třídu ne jenom jeden element. Poraďte...
Str4wberry
Profil
Viz className
stepanvich
Profil
No tak upřímně jsem z toho nic nepochopil... snad kdyby byla nějaká praktická ukázka :)
ShiraNai7
Profil
Existuje document.getElementsByClassName(), ale to nefunguje ve starších verzích MSIE. Nejjednodušší je použít třeba jQuery, pokud to využiješ i na další věci (používat ji jen na tohle je kanón na mouchu).

Taky si můžeš sepsat vlastní funkci, kterou budeš používat:
var getElementsByClassName = function(className) {

    // pouzit nativni implementaci pokud je dostupna
    if(document.getElementsByClassName) {
        return document.getElementsByClassName(className);
    }

    // vlastni implementace
    var out = [];
    var elements = document.getElementsByTagName('*');
    var regex = new RegExp('(^|\\s)'+className+'($|\\s)');
    for(var i = 0; i < elements.length; ++i) {
        if(elements[i].className && regex.test(elements[i].className)) {
            out.push(elements[i]);
        }
    }
    return out;

};

Příklad:
var elements = getElementsByClassName('test'); // promenna elements bude obsahovat vsechny elementy s tridou test
Str4wberry
Profil
Pomocí className lze přiřadit třídu nadřazenému elementu všem elementům. Tím lze jednoduše ovlivnit chování všech elementů se stejnou třídou.

<style>
.cervena .element {color: red; border: 1px solid red}
.modra .element {color: blue; border: 1px solid blue}
</style>

<div id=obal>
  <p class=element>Text. 
  <p class=element>Text. 
  <p>Text, co barvu nezmění. 
  <p class=element>Text. 
</div>
<button onclick="document.getElementById('obal').className = 'cervena'">Červená</button>
<button onclick="document.getElementById('obal').className = 'modra'">Modrá</button>

Pokud se ptáte na něco jiného, zkuste to podat srozumitelněji. Případně napsat, co konkrétně řešíte.

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: