Autor Zpráva
trochu se to ucim
Profil *
AHoj, všechno chápu - i to že bych měl oddělat to + v javascriptu.
Jen nechápu proč v mám příkladě, mi při druhém stisku klávesnice ta třída zmizí a pak se nic neděje.
Podle mně by text měl zůstat ve vel. 22px i kdybych ťukal do klávesnice jak hyperaktivní datel? Díky za vysvětlení.

<style>
.popis{font-size:22px !important;}
</style>

<script>
document.onkeypress=stop; 
function stop() { document.getElementById("text").className += "popis";} 
</script>

<div id="text" style="font-size:1px"> Text, text, text, slova, písmena, bla bla bla ... text!  </div>
anonym_
Profil *
trochu se to ucim:
Ona tam zůstane, a... ne, nebudu ti to psát. Proč si to proboha nezkusíš a nepodíváš se, co se na tom prvku děje?
Radek9
Profil
trochu se to ucim:
Já budu trochu hodnější. :-) Jakým znakem se v atributu class oddělují jednotlivé třídy? A co ti na 7. řádku chybí?

Každopádně anonym má pravdu. Podívej se do DevTools, co se v tom atributu objeví, když klikneš víckrát. To je nejjednodušší řešení naprosté většiny problémů.
lionel messi
Profil
trochu se to ucim:

Ak chceš meniť triedu elementu (v tvojom konkrétnom prípade pridávať), máš dve možnosti:

1) Použiť https://developer.mozilla.org/en-US/docs/DOM/element.className. To je postup, ktorý si zvolil v [#1]. Čo robíš zle, už naznačili kolegovia vyššie.

2) Použiť trochu menej známy classList. Má to zopár úskalí v Exploreri, ktoré ťa v tejto chvíli (ide ti o pridanie jednej konkrétnej triedy) príliš nemusia zaujímať

function stop() {
  let tridyElementu = document.getElementById("text").classList;
  tridyElementu.add("popis");
}

Bez ohľadu na to, k akému postupu sa prikloníš, by bolo fajn ošetriť si, aby sa trieda už nepridávala, ak ju už element má. V prípade riešenia cez classList si teda potrebuješ overiť, či je existuje v danom poli prvok s istým názvom.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0