| Autor | Zpráva | ||
|---|---|---|---|
| stepanvich Profil |
#1 · Zasláno: 6. 8. 2012, 14:01:23
Č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 |
#2 · Zasláno: 6. 8. 2012, 14:12:37
Viz
className
|
||
| stepanvich Profil |
#3 · Zasláno: 6. 8. 2012, 14:27:01
No tak upřímně jsem z toho nic nepochopil... snad kdyby byla nějaká praktická ukázka :)
|
||
| ShiraNai7 Profil |
#4 · Zasláno: 6. 8. 2012, 14:28:04
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 |
#5 · Zasláno: 6. 8. 2012, 14:42:10
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. |
||
|
Časová prodleva: 14 let
|
|||
0