Štýlovanie prvkov v JavaScripte

Majme niekoľko odsekov:

html<p>text1</p>
<p>text2</p>
<p>text3</p>

Prejdime tieto odseky cyklom a na koniec každého odseku pridajme odkaz, po kliknutí na ktorý sa textu odseku pridá nejaké štýlovanie. Napríklad, text odseku sa stane prečiarknutým (to zabezpečuje CSS vlastnosť text-decoration).

Poďme diskutovať o dvoch nuansách tejto úlohy.

Po prvé, ako už bolo diskutované v predchádzajúcich lekciách, nemali by ste meniť štýly odseku priamo cez JavaScript - oveľa pohodlnejšie bude použiť nejaké CSS triedy.

Po druhé, pri implementácii takejto úlohy vás čaká nejaké prekvapenie. Aby ste pochopili jeho podstatu, pozrime sa na HTML kód odsekov po pridaní odkazov:

html<p>text1<a href="">link</a></p>
<p>text2<a href="">link</a></p>
<p>text3<a href="">link</a></p>

Predstavme si teraz, že po kliknutí na odkaz sa text odseku prečiarkne. Avšak, odkaz v tomto prípade je tiež súčasťou odseku a tiež sa prečiarkne! Pravdepodobne takýto efekt nechceme. Chceme, aby sa text prečiarkol, ale odkaz - nie.

Na vyriešenie problému stačí jednoducho obaliť text odseku do tagu span, takto:

html<p><span>text1</span><a href="">link</a></p>
<p><span>text2</span><a href="">link</a></p>
<p><span>text3</span><a href="">link</a></p>
Задание 1

Daný je nasledujúci HTML kód:

html<p>text1</p>
<p>text2</p>
<p>text3</p>

Pridajte na koniec každého odseku odkaz, po kliknutí na ktorý sa text odseku prečiarkne (a odkaz - nie).

Задание 2

Upravte predchádzajúcu úlohu tak, aby po kliknutí na odkaz sa tento odkaz odstránil z odseku (a text odseku sa stal prečiarknutým).

Задание 3

Daná je nejaká HTML tabuľka. Pridajte do tejto tabuľky ešte jeden stĺpec s odkazom. Po kliknutí na tento odkaz by mal riadok s týmto odkazom získať zelené pozadie.

Задание 4

Upravte predchádzajúcu úlohu tak, aby prvé kliknutie na odkaz zafarbilo riadok na zelené pozadie, a druhé kliknutie zrušilo túto akciu.